后面学了mybaties这个其实就没什么用了,还是简单的写一下,经典白学。
JdbcTemplate概述
它是spring框架中提供的一个对象,是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的 *** 作模板类。例如: *** 作关系型数据的JdbcTemplate和ltbernateTemplate, *** 作nosql数据库的RedisTemplate, *** 作消息队列的JmsTemplate等等。
JdbcTemplate开发步骤
1导入spring-jdbc和spring-tx坐标
2创建数据库表和实体
3创建JdbcTemplate对象执行数据库 *** 作
代码实现:
第一步导入spring-jdbc和spring-tx坐标
org.springframework
spring-jdbc
5.0.5.RELEASE
org.springframework
spring-tx
5.0.5.RELEASE
第二步:创建数据库表和实体
实体:
public class Account {
private String name;
private int money;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
@Override
public String toString() {
return "Account{" +
"name='" + name + '\'' +
", money=" + money +
'}';
}
}
数据库表:
第三步创建JdbcTemplate对象执行数据库 *** 作
public class JdbcTemplateTest {
@Test
//测试JdbcTemplate开发步骤
public void test1() throws PropertyVetoException {
//创建数据源对象
ComboPooledDataSource dataSource=new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test01");
dataSource.setUser("root");
dataSource.setPassword("root");
JdbcTemplate jdbcTemplate=new JdbcTemplate();
//设置数据源对象,知道数据库在哪
jdbcTemplate.setDataSource(dataSource);
//执行 *** 作
int row = jdbcTemplate.update("insert into account values(?,?)", "tom", 5000);
System.out.println(row);
}
}
首先我们了解update返回的是 *** 作的行数。所以它的返回值是一个int类型。
运行效果:
接下来我们利用我们的Spring的优势,进行解耦。
我们通过上面的代码发现,我们把获得数据库写死了,现在我们来进行解耦,通过Spring容器来完成
首先现在配置文件中进行如下配置:
有文件properties:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test01
jdbc.username=root
jdbc.password=root
编写测试类进行测试:
接下来我们再了解一下其他的sql语句:
首先增删改我们用到的都是update方法:
更新语句:
在这里我强调的是那个?代表的意思是占位符,跟后面的参数是一一对应的,然后后面参数的写法并不是全部都用引号括起来的,而是字符串用引号括起来。
效果:
删除语句:
效果:
查询 *** 作:
利用的方法不是update了而是query方法
查询全部:
我们在这要知道的是Spring已经给我们封装好了结果,我们不需要像以前一样手动进行封装。所以我们在这里需要new一个list集合,用来装结果。最后返回的也是list集合
效果:
查询单个:
效果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)