Spring对jdbc提供支持,简化Jdbc开发流程,类似Dbutils,使用spring-jdbc适用于简单的数据访问操作,当使用ORM框架对应当前系统比较麻烦的时候,可以采取spring-jdbc,spring-jdbc提供了一个操作数据的简单工具,JdbcTemplate
- 准备数据。
DROP TABLE IF EXISTS `tb_book`;CREATE TABLE `tb_book` (`bid` int(11) NOT NULL AUTO_INCREMENT,`book_name` varchar(255) DEFAULT NULL,`price` double DEFAULT NULL,PRIMARY KEY (`bid`)) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSE-- ------------------------------ Records of tb_book-- ----------------------------INSERT INTO `tb_book` VALUES ('1', 'CSS', '9');INSERT INTO `tb_book` VALUES ('20', 'JAVA', '10');INSERT INTO `tb_book` VALUES ('5', 'html', '100');INSERT INTO `tb_book` VALUES ('7', 'mysql', '33');INSERT INTO `bbk` VALUES ('6', 'jap', '30
- 编写实体类
public class Book {
private Integer bid;
private String book_name;
private Double price;
.........
}
- 配置
<!-- 读取配置文件 -->
<context:property-placeholder location="db.properties" />
<!-- 配置数据源 -->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
</bean>
<!-- 注入一个JdbcTemplete -->
<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name=" dataSource" ref="dataSource"></property>
</bean>
- API
update(String sql , Object..args): int
增 删 改 的方法:
Sql : 执行sql语句
Args: 可变参数,替换sql语句中的?占位符。
query(String sql , RowMapper mapper , Object...args):List<T>
查询多行记录,转JavaBean 集合
Sql: 执行的sql语句
Mapper: 转换工具,把字段转换到bean 的属性
Args: 可变参数,替换sql语句中的?占位符。
queryForObject(String sql , RowMapper mapper , Object...args):T
查询单行记录,转java bean
Sql: 执行的sql语句
Mapper: 转换工具,把字段转换到bean 的属性
Args: 可变参数,替换sql语句中的?占位符。
queryForObject(String sql , Class cls , Object...args):T
查询单列,转指定类型
Sql: 执行的sql语句
cls :指定类型的 Class类型
Args: 可变参数,替换sql语句中的?占位符。
queryForMap(String sql ,Object...args):Map
查询单行,转hashmap
Sql : 执行的语句
Args: 可变参数,替换sql语句中的?占位符
queryForList(String sql ,Object...args):List<Map>
查询多行记录,转List<Map>
Sql : 执行的语句
Args: 可变参数,替换sql语句中的?占位符
batchUpdate(sql,params):int[]
批量 : insert delete update
Sql : 执行的语句
Args: 可变参数,替换sql语句中的?占位符