SpringBootはJDBCを使用してMysqlデータベースに接続します
SpringがMysqlに接続するには、JDBC、Spring JPA、Hibeirnate、Mybatisなど、さまざまな方法があります。この記事では、主にMysqlデータベースに接続する最も簡単で最低レベルのJDBC方法を紹介します。JDBCはデータベースに接続し、主にJdbcTemplateを挿入し、JdbcTemplateを使用してデータベースを操作します。 。
1. mysqlのテストライブラリにユーザーテーブルを作成し、フォローアップの準備のために2つのデータを挿入します
表のステートメントは次のとおりです。
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');
2、pom.xmlに依存関係を追加します
<!--JDBC-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
3、構成ファイル構成データベースおよびその他のパラメーターを追加します
次のように、resourceフォルダーの下にapplication.properties構成ファイルを追加し、データベースパラメーターを入力します。
############################################################
#
# 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
第四に、新しいエンティティクラスUser.java、属性はデータベースユーザーテーブルに対応します
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
}
5つ目は、データベースに接続するための新しいテストクラスを作成することです。
/**
* @author oyc
* @Description: 用户控制类
* @date 2018/7/8 22:10
*/
@Controller
@RequestMapping("/jdbc")
public class JdbcController {
@Resource
private JdbcTemplate jdbcTemplate;
@RequestMapping("/user")
@ResponseBody
public List<User> list(ModelMap map) {
String sql = "SELECT * FROM user";
List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>() {
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";
List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>() {
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";
}
}
6.新しいthymeleafテンプレートページuser.htmlを追加して、ユーザー情報のリストを表示します
7、ブラウザを使用してテストします
ソースコードアドレス:https://github.com/oycyqr/jdbcdemo/