内容简介:Spring Boot JDBC 使用
Spring 框架为使用 SQL 数据库提供了广泛的支持 , 本文介绍如何使用 JdbcTemplate 访问数据库 。
环境
- JDK 8
- Maven 3
- IntelliJ IDEA 2016
- Spring Boot 1.5.2.RELEASE
- MySQL 5.5
项目结构
项目依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> </dependency>
SQL 脚本
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(32) NOT NULL COMMENT '姓名',
`sex` char(1) NOT NULL COMMENT '性别',
`email` varchar(64) NOT NULL COMMENT '邮件',
`mobile` char(11) NOT NULL COMMENT '电话',
`birthday` date NOT NULL COMMENT '生日',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户表';
INSERT INTO `user` VALUES ('1', '张三', '男', 'zhangsan@163.com', '13800138000', '1990-04-27');
INSERT INTO `user` VALUES ('2', '李四', '女', 'lisi@gmail.com', '15989123654', '1995-08-07');
INSERT INTO `user` VALUES ('3', '王五', '男', 'wangwu@126.com', '18889456321', '1993-11-13');
INSERT INTO `user` VALUES ('4', '赵六', '女', 'zhaoliu@yeah.net', '17702012321', '1991-02-14');
实体类
public class User{
private Integer id;
private String name;
private String sex;
private String email;
private String mobile;
private Date birthday;
// getters and setters
@Override
public String toString(){
return "{id=" + id + ", name='" + name + "', sex='" + sex + "', email='" + email + "', mobile='" + mobile + "', birthday=" + birthday + "}";
}
}
数据访问
Spring 的 JdbcTemplate 是自动配置的 , 使用 @Autowired 可以直接将其注入:
@Repository
public class UserDao{
@Autowired
private JdbcTemplate jdbcTemplate;
public List<User> selectAll(){
return jdbcTemplate.query("SELECT * FROM USER", (rs, rn) -> {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
user.setEmail(rs.getString("email"));
user.setMobile(rs.getString("mobile"));
user.setBirthday(rs.getDate("birthday"));
return user;
});
}
public void save(User user){
jdbcTemplate.update("INSERT INTO USER(NAME, SEX, EMAIL, MOBILE, BIRTHDAY) VALUES (?, ?, ?, ?, ?)",
user.getName(), user.getSex(), user.getEmail(), user.getMobile(), user.getBirthday());
}
}
数据源配置
application.yml
spring: main: banner-mode: 'off' datasource: url: jdbc:mysql://127.0.0.1/spring_boot_testing_storage username: root password: root driver-class-name: com.mysql.jdbc.Driver
SQL 输出
application.yml
logging: level: root: warn org.springframework.jdbc.core.JdbcTemplate: debug
Application
@SpringBootApplication
public class Application implements ApplicationRunner{
@Autowired
private UserDao userDao;
@Override
public void run(ApplicationArguments args) throws Exception{
System.out.println("===================== 新增 =====================");
User user = new User();
user.setName("fanlychie");
user.setSex("男");
user.setEmail("fanlychie@yeah.net");
user.setMobile("15989166266");
user.setBirthday(new Date());
userDao.save(user);
System.out.println("Saved");
System.out.println("===================== 查询 =====================");
userDao.selectAll().forEach(System.out::println);
}
public static void main(String[] args){
SpringApplication.run(Application.class);
}
}
以上所述就是小编给大家介绍的《Spring Boot JDBC 使用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
中国制造2025:产业互联网开启新工业革命
夏妍娜、赵胜 / 机械工业出版社 / 2016-2-22 / 49.00
过去20年,是中国消费互联网肆意生长的"黄金20年",诞生了诸如BAT等互联网巨头,而时至今日,风口正逐渐转向了产业互联网。互联网这一摧枯拉朽的飓风,在改造了消费服务业之后,正快速而坚定地横扫工业领域,拉开了产业互联网"关键30年"的大幕。 "中国制造2025"规划,恰是中国政府在新一轮产业革命浪潮中做出的积极举措,是在"新常态"和"供给侧改革"的背景下,强调制造业在中国经济中的基础作用,认......一起来看看 《中国制造2025:产业互联网开启新工业革命》 这本书的介绍吧!