Spring的JdbcTemplate配置

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即可。

此文章为我个人的学习笔记总结,自用

发布了29 篇原创文章 · 获赞 3 · 访问量 883

猜你喜欢

转载自blog.csdn.net/weixin_44616792/article/details/96492480
今日推荐