JdbcTemplate是对数据库进行操作的。
其中的update()方法是对数据库执行增删改操作的:jdbcTemplate.update(sql语句,参数)
query()方法是对数据库进行查询操作的:jdbcTemplate.query(sql语句,结果集处理器,参数)
结果集处理器:new BeanPropertyRowMapper<泛型>(.class)
private JdbcTemplate jt;
public void setJt(JdbcTemplate jt) {
this.jt = jt;
}
// 查询操作,根据id查找
@Override
public User findById(Integer id) {
List<User> users = jt.query("select * from user where id = ?",new BeanPropertyRowMapper<User>(User.class), id);
return users.isEmpty()?null:users.get(0);
}
// 查询操作,根据name查找返回结果集
@Override
public List<User> findByName(String name) {
return jt.query("select * from user where name = ?",new BeanPropertyRowMapper<User>(User.class), name);
}
// 更新操作,根据id进行更新
@Override
public void updateUser(User user) {
jt.update("update user set name=?,money=? where id=?",user.getName(),user.getMoney(),user.getId());
}
// 插入操作
@Override
public void insertUser(User user) {
jt.update("insert into user(name,money)values(?,?)",user.getName(),user.getMoney());
}
// 删除操作,根据id删除
@Override
public int deleteUserById(Integer id) {
return jt.update("delete from user where id=?",id);
}
public class User implements Serializable {
private Integer id;
private String name;
private Float money;
}
update()方法返回值为int,可以根据返回值来确定操作是否执行成功。
下面就是JdbcTemplate的xml配置,其实就是多配制了一个bean,和一个数据源
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="userDao" class="com.xzp.dao.impl.UserDaoImpl">
<property name="jt" ref="jdbcTemplate"></property>
</bean>
<bean id="userService" class="com.xzp.service.impl.UserServiceImpl">
<property name="iUserDao" ref="userDao"></property>
</bean>
<!--出现中文乱码需要设置jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf8"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
出现中文乱码的问题需要在url后加上?characterEncoding=utf8即可。
此文章为我个人的学习笔记总结,自用