1. 首先在数据库中创建一个表,并在表中加入部分数据方便操作。
2. 连接数据库,操作在上一篇写过,连接成功后开始进行操作。
3. 配置文件中配置JdbcTemplate 的信息
3. 更新操作(update)
直接调用 JdbcTemplate 的Update 方法,直接调用 sql 语句 ( delete 和 insert 方法同样)
/*
* 实现数据的 DELETE update insert
*
*/
@Test
void testjdbctemplate() {
String sql="update Person set name=? where id=?";
jdbcTemplate.update(sql, "bbb",4);
}
4.批量更新
调用 JdbcTemplate 的 batchupdate 方法 。
这里需要注意的是 List 的应用。通过 add 添加信息
/*
* 实现批量的 select update insert
*/
@Test
public void testlistjdbctemplate() {
String sql="insert into person(id,name,age) value (?,?,?)";
List
5. 单条查询 (获取数据库中的对象)
要保证已经创建了实体类,并有实体类的显示方法。
注意调用的是queryForObject方法中的queryForObject(String sql, RowMapper
另外需要注意:
/*
* 获取对象
* 从数据库中获取一条记录, 实际得到对应的一个对象
* 注意不是调用 queryForObject(String sql, Class requiredType, Object... args) 方法!
* 而需要调用 queryForObject(String sql, RowMapper rowMapper, Object... args)
*/
@Test
public void testquerry() {
String sql="select id,name,age from person where id=?";
RowMapper rowMapper=new BeanPropertyRowMapper<>(Person.class);
Person person=jdbcTemplate.queryForObject(sql, rowMapper,1);
System.out.println(person);
}
6. 批量查询
同查询的方法差不多,注意List 的应用。
/**
* 查到实体类的集合
* 注意调用的不是 queryForList 方法
*/
@Test
public void testQueryForList(){
String sql = "select id,name,age from person where id>?";
RowMapper rowMapper = new BeanPropertyRowMapper<>(Person.class);
List persons = jdbcTemplate.query(sql, rowMapper,2);
System.out.println(persons);
}
工程项目中,最重要的一点就是系统的封装性,程序的可视性。因此在主类中只能调用方法,而不应该再写查询等操作,这些操作都应被封装在一个类中,便于修改,也便于主函数应用。
1. 创建一个封装类
类中写方法,这里只写了一个
另外需要配置类的bean, 注解配置和XML配置都可以应用,不再赘述,前面文章中写的有。
package jdbc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
@Repository
public class PersonDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public void getid(int id) {
String sql="select id,name,age from person where id=?";
RowMapper rowMapper=new BeanPropertyRowMapper<>(Person.class);
Person person=jdbcTemplate.queryForObject(sql, rowMapper,id);
System.out.println(person);
}
}
2. 主类中调用方法
类中创建对象,对象调用函数直接应用。方便快捷。
ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml");
//创建对象
private PersonDao personDao;
personDao=ctx.getBean(PersonDao.class);
@Test
public void testPersonDao() {
personDao.getid(2);
}