Spring Boot 2.0.2 教程 - 整合JdbcTemplate - 06
非原创 java_world 发表于:2018-10-12 14:35:31
  阅读 :88   收藏   编辑

上一篇:集成jsp和静态资源css,js,image的访问 - 05 

pom.xml添加相关依赖

<!-- 单元测试 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- 引入jdbc和mysql驱动包,spring boot 默认会使用HikariCP作为数据库连接池 -->
<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.35</version>
</dependency>

创建测试表

CREATE TABLE `example` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(50) DEFAULT NULL,
  `addr` varchar(500) DEFAULT NULL,
  `sex` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
)

项目整体结构

12

新增联系数据库的配置,修改文件application.properties

#mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/app_test?Unicode=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root

创建实体类

public class Example implements Serializable {
    private Integer id;
    private String userName;
    private String addr;
    private Byte sex;
   
    //get set 省略
}

创建Dao

@Repository
public class ExampleDao {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 保存
     * @param bean
     * @return
     */
    public int saveBean(Example bean){
        String sql = "insert into example(id,user_name,addr,sex) values (null,?,?,?)";
        return jdbcTemplate.update(sql,bean.getUserName(),bean.getAddr(),bean.getSex());
    }
    /**
     * 获取bean
     * @param id
     * @return
     */
    public Example getBean(int id){
        String sql = "select * from example where id = ?";
        List<Example> list = jdbcTemplate.query(sql,new Object[]{id},new BeanPropertyRowMapper(Example.class));
        if(list != null && !list.isEmpty()){
            return  list.get(0);
        }
        return null;
    }
}

创建测试类

@RunWith(SpringRunner.class)
@SpringBootTest(classes = DemoApplication.class)//DemoApplication.class 为项目启动的那个类
public class ExampleDaoTest {
    @Autowired
    private ExampleDao exampleDao;
    @Test
    public void saveBean(){
        Example bean = new Example();
        bean.setUserName("ZhangSan");
        bean.setAddr("ShangHai");
        bean.setSex((byte)1);
        exampleDao.saveBean(bean);
    }
    @Test
    public void getBean(){
        Example bean = exampleDao.getBean(3359);
        System.out.println(bean);
    }
}

在相应的方法上右键执行查询日志数据库即可

保存数据查看

23

查询打印

22