1、引入jar包,在spring配置文件中配置数据仓库数据库连接池
2、配置jdbcTemplate对象,注入DataSource
3、在A类中注入jdbcTemplate对象(通过@AutoWired注入) (注意**在A类前记得加注解,如@service等)(所以在xml配置文件中记得组件扫描)
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
1)创建表中每个对象的类,包含表中各列的名称,以及get和set方法创建。如下图中的book类;
2)在A接口中创建添加、删除、修改的函数(jdbcTemplate.update( , )第一个参数sql语句,第二个参数sql语句中需要的参数),在A类中进行重写,写入具体操作;
3)在test类中进行测试,测试类编写可以参考这篇里面。
A类代码如下:
@Service
public class BookDaoImpl implements BookDao{
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void add(Book book) {
String sql = "insert into t_book values(?,?,?)";
jdbcTemplate.update(sql,book.getUserID(),book.getUsername(),book.getUstatus());
}
test类代码如下:
@Test
public void testAdd() {
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
BookDaoImpl bookDaoImpl = context.getBean("bookDaoImpl", BookDaoImpl.class);
Book book = new Book();
book.setUserID("10");
book.setUsername("heima");
book.setUstatus("5");
bookDaoImpl.add(book);
区别是执行sql语句的函数与增删改查不同,采用queryForObject( ,)方法,第一个参数是sql语句,第二个参数是返回类型的class(如返回int数值,则为Interger.class)。
与返回值所用的函数相同,但参数不同queryForObject( ,,)
第一个参数sql语句
第二个参数new BeanPropertyRowMapper< >( ) 尖括号里面是返回对象类型,圆括号里是返回对象类型的class
第三个参数是需要输入的值(即sql查询语句中需要输入的值的形参)
public Book foundone(int id) {
String sql = "select * from t_book where user_id=?";
Book book = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper(Book.class), id);
return book;
区别是执行sql语句的函数为query( , , ),参数与返回对象是所表示的一样(注意第二个参数的尖括号里面是返回对象类型,圆括号里是返回对象类型的class)
执行sql语句的函数是batchUpdate( , ),第一个参数sql语句,第二个参数List集合,对其进行批量操作。
public void batchadd(List