1、JDBC Template概述
是spring框架中提供的一个对象,是对原始繁琐的jdbc API对象的简单封装。Spring框架为我们提供了很多操作模板类
2、JDBCTemplate开发步骤:
导入Spring-jdbc和Spring-tx坐标
创建数据库和实体
创建JDBCTemplate对象
执行数据库操作
常用操作更新和查询
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:ApplicationContext.xml")
public class JdbcTemplatateCRUDTest {
@Autowired
public JdbcTemplate jdbcTemplate;
//查询多少个
@Test
public void testQueryCount(){
Long query = jdbcTemplate.queryForObject("select count(*) from account",long.class);
System.out.println(query);
}
//查询单个
@Test
public void testQueryAone(){
Account query = jdbcTemplate.queryForObject("select * from account where name=?", new BeanPropertyRowMapper<Account>(Account.class), "zhangsan");
System.out.println(query);
}
//查询全部
@Test
public void testQueryAll(){
List<Account> query = jdbcTemplate.query("select * from account", new BeanPropertyRowMapper<Account>(Account.class));
System.out.println(query);
}
//更新
@Test
public void testUpdate(){
int row = jdbcTemplate.update("update account set money=? where name=?", 10000, "zhangsan");
System.out.println(row);
}
//删除
@Test
public void testDelete(){
int row = jdbcTemplate.update("delete from account where name=?","tom");
System.out.println(row);
}
JdbcTemplate的使用
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
@Test
public void test2() throws Exception{
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
JdbcTemplate jdbcTemplate = applicationContext.getBean(JdbcTemplate.class);
int row = jdbcTemplate.update("insert into account3 values (?,?);", "李四", 5000);
System.out.println(row);
}
@Test
public void test1() throws Exception {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");;
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8");
dataSource.setUser("root");
dataSource.setPassword("123456");
JdbcTemplate jdbcTemplate=new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
int a=jdbcTemplate.update("insert into account values (?,?);","张三",5000);
System.out.println(a);
}
知识要点:
导入Spring-jdbc和Spring-tx坐标
创建数据库表和实体
创建jdbcTemplate对象
JdbcTemplate jdbcTemplate=new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
执行数据库操作
更新操作:
jdbcTemolate.update(sql,parms)
查询操作:
jdbcTemplate.query(sql,Mapper,params)
jdbcTemplate.queryForObject(sql,Mapper,params)