springboot研究一:springboot初探,mysql+jdbc的一个示例
本文介绍spring-boot采用mysql和jdbc的一个示例。spring-boot的去配置文件确实给开发者带来了很大的方便,从本文开始,介绍几个spring-boot的使用案例。
项目依赖jar包:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- MYSQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
数据库采用mysql,orm使用jdbc实现。
下面是application.properties的配置:
spring.datasource.url=jdbc\:mysql\://localhost\:3306/zhujinjun?useUnicode\=true&characterEncoding\=utf-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
数据库(zhujinjun)中有一张表zh_user
CREATE TABLE `zh_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(64) COLLATE utf8_bin NOT NULL,
`password` varchar(64) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
下面是抽象Dao类,
public abstract class AbstractJdbcDaoSupport {
@Autowired
protected JdbcTemplate jdbcTemplate;
}
用户表的Dao类,
@Repository
public class UserRepository extends AbstractJdbcDaoSupport{
private String querySql = "SELECT r.password FROM zh_user r WHERE r.username=?";
private String insertSql = "insert into zh_user(username,password) values(?,?)";
public String getPassword(final String username) {
String passwd = jdbcTemplate.query(querySql, new Object[] { username }, new ResultSetExtractor<String>() {
@Override
public String extractData(ResultSet rs) throws SQLException, DataAccessException {
while (rs.next()) {
return rs.getString("password");
}
return null;
}
});
return passwd;
}
public void saveUser(final User user) {
jdbcTemplate.update(insertSql, new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
}
});
}
}
这里就可以实现数据库的访问,所以service类不再展示,可以从我的github账号上获取。
Controller类:
@Controller
public class UserController {
@Resource
private MyService myService;
@RequestMapping("/{username}")
@ResponseBody
public String getPassword(@PathVariable String username) {
String passwd = myService.getPasswd(username);
return passwd;
}
@RequestMapping("/saveUser/{username}")
@ResponseBody
public String saveUser(@PathVariable String username) {
User user = new User();
user.setUsername(username);
user.setPassword("111111");
try {
myService.saveUser(user);
return "success!";
} catch (Exception e) {
return "failure!";
}
}
}
最后,spring-boot启动类App.java
@EnableAutoConfiguration
@ComponentScan("boot.app,boot.service,boot.dao,boot.domain")
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
}
这样,就完成了一个spring-boot的demo。
测试方法:
1.创建好数据库
2.启动App.Java类
3.浏览器数据输入地址http://localhost:8080/saveUser/abc,成功插入一个用户abc,返回success!
4.浏览器数据输入地址http://localhost:8080/abc,插入用户密码111111
源码:https://github.com/jinjunzhu/spring-boot-jdbc.git
- spring-boot研究一:springboot初探,mysql+jdbc的一个示例
- 导入别人的springboot项目 报错 Cannot load driver class: com.mysql.jdbc.Driver
- spring boot 加载出现 Loading class `com.mysql.jdbc.Driver'. This is deprecated.
- 整合SpringBoot+Mysql+Redis实现缓存机制的一个Demo
- Springboot+MySQL,出现Could not get JDBC Connection
- Spring Boot2.0.3 Mybatis Sharding-jdbc3.X集成实现数据库的读写分离(一)MySql的主从配置
- SpringBoot -- ES从mysql中获取数据/Elasticsearch-jdbc
- 笔记:CentOS7下部署一个mysql5.6和一个springboot项目的Docker容器
- Spring Boot JPA访问Mysql示例
- Spring Boot Mysql 数据库操作示例
- 详解Spring Boot中整合Sharding-JDBC读写分离示例
- springboot+webmagic实现java爬虫jdbc及mysql的方法
- 【SpringBoot填坑记录】Spring Boot 不能加载 com.mysql.jdbc.Driver ,出现CLIENT_PLUGIN_AUTH is required异常问题
- springboot搭建web项目初探 springboot + mybatis + mysql + thymeleaf
- Spring Boot中整合Sharding-JDBC单库分表示例
- 一个很有趣的示例Spring Boot项目,使用Giraphe CMS和Spring Boot
- Spring Boot JDBC 连接数据库示例
- 通过springboot+mybatis+mysql+freemarker创建一个java web项目
- SpringBoot+Mybatis+mysql+idea简单创建一个工程
- spring boot 2.0采用com.mysql.cj.jdbc.Driver数据库驱动引发的系统时间不一致问题