SpringBoot 使用JDBC连接Mysql数据库

Spring连接Mysql的方式有很多,例如JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要介绍使用最简单、最底层的JDBC方式来连接Mysql数据库,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库。

一、在mysql中的test库中建立user表,并插入两条数据,为后续做好准备


建表语句如下:

CREATE TABLE `user` (
`id` varchar(20) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`age` varchar(20) DEFAULT NULL,
`sex` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `user`(`id`, `name`, `age`, `sex`) VALUES ('1', 'oyc', '18', 'male');
INSERT INTO `user`(`id`, `name`, `age`, `sex`) VALUES ('2', 'ouyang', '19', 'male');
二、在pom.xml中添加依赖

mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-jdbc
/pre>
img src=https://ask.qcloudimg.com/http-save/yehe-8223537/d29d2b9c58f283926a68db29104991ed.jpg>
h3>三、添加配置文件配置数据库和其他参数
/h3>
p>在resource文件夹下添加application.properties配置文件并输入数据库参数,如下:
/p>
pre class='language-javascript'>
############################################################
#
# mysql
#
############################################################
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5/pre>
h3>四、新增实体类User.java,属性与数据库user表相对应
/h3>
pre class='language-javascript'>
package com.oycbest.jdbcdemo.domain;
/**
* @author oyc
* @Description:用户实体类
* @date 2018/7/8 22:51
*/
public class User{
//用户id
private String id;
//用户名称
private String name;
//户年龄
private String age;
//用户性别
private String sex;
//此处省略setter和getter
}/pre>
h3>五、新建测试类连接数据库
/h3>
pre class='language-javascript'>
/**
* @author oyc
* @Description: 用户控制类
* @date 2018/7/8 22:10
*/
@Controller
@RequestMapping("/jdbc")
public class JdbcController {
@Resource
private JdbcTemplate jdbcTemplate;
@RequestMapping("/user")
@ResponseBody
public Listlist(ModelMap map) {
String sql = "SELECT * FROM user";
ListuserList = jdbcTemplate.query(sql, new RowMapper () {
User user = null;
@Override
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
user = new User();
user.setId(rs.getString("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
user.setAge(rs.getString("age"));
return user;
}
});
for (User user : userList) {
System.out.println(user.toString());
}
return userList;
}
@RequestMapping("/userList")
public String userList(ModelMap map) {
String sql = "SELECT * FROM user";
ListuserList = jdbcTemplate.query(sql, new RowMapper () {
User user = null;
@Override
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
user = new User();
user.setId(rs.getString("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
user.setAge(rs.getString("age"));
return user;
}
});
map.addAttribute("users", userList);
return "user";
}
}
六、新增一个thymeleaf模板页面user.html用于显示用户信息列表
七、使用浏览器测试
源代码地址:https://github.com/oycyqr/jdbcdemo/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/127163.html