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

    xiaoxiao2025-11-28  5

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

     

     

     

    转载请注明原文地址: https://ju.6miu.com/read-1304495.html
    最新回复(0)