Spring JDBC
Spring自身提供了控制层的SpringMVC和持久层的SpringJdbcTemplate,主要使用其中的事务管理功能。
开发步骤
- 下载Spring JdbcTemplate的jar包
<!-- spring-jdbc jdbcTemplate模板和事务管理的功能-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- 阿里数据源 开源的数据源管理 提供数据库连接池功能
数据库连接池:因为频繁创建销毁数据库连接对象(Connection)
开销比较大,提出池的概念,事先缓存一部分连接对象,使用时直接从池中获取
用完后任然返回到池中,减少创建销毁的时间
-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
- 还需要mysql的jar包
<!-- mysql -connector-java-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
- 添加config.properties属性文件
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/ssmdb?serverTimezone=Asia/Shanghai
uname=root
pwd=1222
- 导入属性文件
<context:property-placeholder location="config.properties"/>
-
管理数据源对象
spring 管理与数据库链接 (数据源)
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${uname}"></property>
<property name="password" value="${pwd}"></property>
<property name="initialSize" value="10"></property>
<property name="minIdle" value="5"></property>
<property name="maxActive" value="20"></property>
</bean>
- 在配置文件中创建JdbcTemplate
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
- 测试
//dao层
@Repository("adminDao")
public class AdminDao {
@Autowired
JdbcTemplate jdbcTemplate;
public void saveAdmin(){
jdbcTemplate.update("insert into admin(account ,password,gender) value(?,?,?) ","nihao1","111","男");
System.out.println("保存管理员");
}
}
//service层
@Service("adminService")
public class AdminService {
@Autowired
AdminDao adminDao;
public void saveAdmin(){
adminDao.saveAdmin();
}
public AdminDao getAdminDao(){
return adminDao;
}
public void setAdminDao(AdminDao adminDao){
this.adminDao = adminDao;
}
}
//测试
public void test2(){
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
AdminService adminService = app.getBean("adminService",AdminService.class);
//System.out.println(student);
adminService.saveAdmin();
}