Spring对jdbc技术提供了很好的支持:
体现在:
- Spring对c3p0连接池的支持
- Spring对jdbc操作提供了JdbcTemplate,来简化jdbc操作
引入jar包
- spring-jdbc-3.2.5.RELEASE.jar
- spring-tx-3.2.5.RELEASE.jar
- c3p0-0.9.1.2.jar
- mysql-connector-java-5.1.12-bin.jar
bean对象
1 | package com.xiaopeng.spring.jdbc; |
编写IUserDao接口
IUserDao接口支持插入数据、查询返回所有用户数据、根据主键查询某个用户数据1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21package com.xiaopeng.spring.jdbc;
import java.util.List;
public interface IUserDao {
/**
* 插入数据
*/
void save();
/**
* 查询所有用户信息
*/
List<User> findAll();
/**
* 根据主键查询数据
*/
User findById();
}
UserDao
对于常规的jdbc操作,按照以下方式进行:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22public void save(User user) {
try {
String sql = "insert into user_table(age,name) values(" + user.getAge() + ",'" + user.getName() + "')";
System.out.println(sql);
Connection con = null;
Statement stmt = null;
Class.forName("com.mysql.jdbc.Driver");
// 连接对象
con = DriverManager.getConnection("jdbc:mysql:///spring", "root", "root");
// 执行命令对象
stmt = con.createStatement();
// 执行
stmt.execute(sql);
// 关闭
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
使用JdbcTemplate:
1 | package com.xiaopeng.spring.jdbc; |
其中MyRow这个类非常有用,可以把查询结果映射为JavaBean对象,通过org.springframework.jdbc.core.RowMapper接口实现。
编写spring-jdbc.xml配置
1 | <?xml version="1.0" encoding="UTF-8"?> |
测试类:
1 | package com.xiaopeng.spring.jdbc; |
总结:
Spring框架的JDBC模块,所有的类可以被划分为四个单独的包:
- core:包含了jdbc的核心功能,包括JdbcTemplate、SimpleJdbcInsert、SimpleJdbcCall等
- datasource:数据源配置的相关功能
- object:对象关系映射功能
- support:其他支持功能,例如异常装换等
与传统的JDBC代码相比较,JdbcTemplate简单明了,并且有良好的事务管理机制。
本文链接: http://www.xiaopeng.pro/articles/234ab8ad.html
版权声明: 本原创文章采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!