您的位置:首页 > 编程语言 > Java开发

springboot研究一:springboot初探,mysql+jdbc的一个示例

2021-04-19 22:57 239 查看

本文介绍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

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: