开发者学堂课程【SpringBoot 实战教程: SpringBoot 整合 JdbcTemplate】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/651/detail/10798
SpringBoot 整合 JdbcTemplate
1、在学习 spring 框架时学过封装数据库操作的模版叫 jdbctemplate,在 springboot 如何使用它?首先是依赖 jar 包,springboo t 提供的 jdbctemplate 的依赖。
2、创建工程,进行 web 的整合依赖,直接添加 jdbctemplate 依赖,另外还需要所要用的数据库的 jar 包的依赖。
<!--springboot 整 合 jdbctemplate-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
3、用的数据库是 mysql,把 mysql 对应 jar 包的依赖加上。
<!--mysql 的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
4、jar 包准备好后,使用 jdbctemplate,使用它要进行数据库操作,首先选择一个数据库,这里有一个 db1数据库,用 user 表用户表,里面有 id,name,password,email,birthday 五个字段。
5、id 是自动增长的。
6、birthday 是日期类型的,其他都是字符串类型的。以这个表为例。
7、首先根据所操作的表生成相应的实体类,有一个逆向工程,已经用逆向工程生成表对应的实体类 users,直接拷贝,创建一个包,命名为 com.qianfeng.dao。
8、创建一个类,命名为 userdao。
9、写一个功能,比如添加用户,直接使用 jdbctemplate 模版,注入模版,实现用户的添加需要有用户,调用 update 方法,分别是相应的 sql 语句。需要添加的数据都在 users user 对象中,这是一个可变参数,封装到数组中
public class UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public void addUser (Users user)
{
jdbcTemplate .update ("insert into users (name, password, emai
l
, birthday)values (?, ?,?,?)”,new object [ ]{user . getName () , user .getPassword() ,user .getEmail (),user . getBirthday ( )});
}
}
Springboot 不需要 xml 文件,加注解 @Repository 创建 dao 的对象,需要扫描 dao 所在的包。
10、dao 写完后,创建 service,命名为 com.qianteng.service,接口省略,直接写 userservice。
11、创建 service 对象,加注解。用 autowired 进行注入,service 可以接收来自controller 的 user 对象,导入。Service 实现添加用户的业务。
@Service
public class UserService
{
@Autowired
private UserDao userDao;
public void
saveUser (Users user )
{
userDao. addUser (user) ;
}
}
12、创建 Controller,命名为 UserController。
13、加注解,Controller 层调用的是 service 层,所以注入 userservice。 Controller 可以接收来自页面上的数据,自己封装一个 user 对象,service 需要接收 user 对象,再把它传给 service。返回 success,不希望它返回到页面,所以加注解 ResponseBody。
@Controller
public class UserController
{
@Autowired
private UserService
userService ;
@RequestMapping ("/ saveUser")
@ResponseBody
public String
save ( )
{
Users user= new Users () ;
user . setName ("
王喜
") ;
user . setPassword("6666") ;
user . set Email ("wangxi@163. com") ;
user . setB
i
rthday (new Date());
userService . saveUser (user) ;
Return “success" ;
}
}
14、dao 层需要创建 dao 的对象,service 层需要创建 service 对象,controller 层需要创建 controller 对象,这些都需要进行相应包的扫描,找到启动类,在启动类中输入:
@SpringBootAppl ication ( scanBase Packages=
{
"com. qi anfeng.dab"
,
"com. qianfeng. service", "com. qianfeng. controller"
}
)
public class SpringApp
{
public static void main (String [ ]args )
{
SpringApplication. run (SpringApp.class, args) ;
}
}
15、连接数据库的信息只能放在全局配置中,连接数据库的配置信息,创建 application.properties。
16、驱动用户名和密码。标准的四项,左边的名字不能写错,覆盖 springboot 的默认配置。
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/db1
17、启动,controller 的访问路径是 saveuser,访问,数据库中会增加王喜的一条用户记录,这样就说明成功了。访问出错,控制台提示语法写错,更正后,得到 success。
18、刷新数据库,可以看到王喜的用户记录。