ふじさん春原庄的雪

SpringJDBC和事务控制

阿海不是程序员·2022-04-06 16:41·40 次阅读

SpringJDBC和事务控制

SpringJDBC和事务控制

主要内容#

1、基本配置#

Copy
<!--依赖导入--> <dependencies> <!-- 添加相关的依赖坐标 --> <!-- spring 框架坐标依赖添加 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.4.RELEASE</version> </dependency> <!-- spring 测试环境 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.4.RELEASE</version> <scope>test</scope> </dependency> <!-- aop --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.5</version> </dependency> <!-- spring jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.4.RELEASE</version> </dependency> <!-- spring事物 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.2.4.RELEASE</version> </dependency> <!-- mysql 驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> <!-- c3p0 连接池 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.5</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.4.RELEASE</version> <scope>compile</scope> </dependency> </dependencies>

spring.xml配置

Copy
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- Spring扫描注解的配置 --> <context:component-scan base-package="com.geo" /> <!-- 加载properties 配置文件 --> <context:property-placeholder location="jdbc.properties" /> <!-- 配置 c3p0 数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- property标签的value属性对应的是jdbc.properties中的值 --> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.user}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- 配置JdbcTemplate实例,并注入一个dataSource数据源--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"/> </bean> </beans>

jdbc.properties

Copy
# 驱动名 jdbc.driver=com.mysql.cj.jdbc.Driver # 数据库连接 jdbc.url=jdbc:mysql://localhost:3306/jdbcprac?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false # 数据库用户名称 jdbc.user= root # 数据库用户密码 jdbc.password=1234

2、测试类#

Copy
/** * Created with IntelliJ IDEA. * * @Author: Suhai * @Date: 2022/04/02/18:15 * @Description: */ public class JdbcTest01 { @Test public void testQueryCount() { // 获取spring上下文环境 ApplicationContext ctx = new ClassPathXmlApplicationContext("springjdbc.xml"); // 得到模板类 JdbcTemplate对象 JdbcTemplate jdbcTemplate = (JdbcTemplate) ctx.getBean("jdbcTemplate"); // 定义sql语句 String sql = "select count(1) from student"; // 执行查询操作(无参数) Integer total= jdbcTemplate.queryForObject(sql, Integer.class); System.out.println("总记录数:" + total); } @Test public void testQueryCountByUserId() { // 获取spring上下文环境 ApplicationContext ctx = new ClassPathXmlApplicationContext("springjdbc.xml"); // 得到模板类 JdbcTemplate对象 JdbcTemplate jdbcTemplate = (JdbcTemplate) ctx.getBean("jdbcTemplate"); // 定义sql语句 String sql = " select count(1) from student where id = ?"; // 执行查询操作(有参数) Integer total = jdbcTemplate.queryForObject(sql, Integer.class, 1); System.out.println("总记录数:" + total); } }
posted @   阿海是个呆瓜  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示
目录