• SpringBoot JDBC简单操作数据库


    一、引入依赖

    <!-- 核心启动器, 包括auto-configuration、logging and YAML -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!-- using Spring Data JDBC, JdbcTemplate或NamedParameterJdbcTemplate都是由spring jdbc提供的 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jdbc</artifactId>
    </dependency>
    <!-- 数据库操作需要的mysql 驱动包 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.48</version>
    </dependency>
    
    <!-- testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

    二、application.properties配置

    spring.datasource.url=jdbc:mysql://192.168.178.5:12345/mydb?characterEncoding=UTF-8
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.type=com.zaxxer.hikari.HikariDataSource

    三、service和dao

    1. dao代码

    (1) JdbcDao接口

    public interface JdbcDao {
        List<Map<String,Object>> listUsers();
    }

    (2) JdbcDaoImpl.class

    @Repository
    public class JdbcDaoImpl implements JdbcDao{
        /**
         * JdbcTemplate和NamedParameterJdbcTemplate只要配置了数据源就自动注入了,
         * 实际开发中,可以将这两个注入放到公共的dao类中, 其他到继承公共的即可
         */
        @Autowired
        private JdbcTemplate jdbcTemplate;
    
        @Autowired
        private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
    
        /**
         * @MethodName listUsers
         * @Description 查询所有用户
         */
        public List<Map<String,Object>> listUsers(){
            String sql = "select id, name, age from user";
            return jdbcTemplate.queryForList(sql);
        }
    }

    2. service代码

    (1) JdbcService接口

    public interface JdbcService {
        List<Map<String,Object>> listUsers();
    }

    (2) JdbcServiceImpl

    @Service
    public class JdbcServiceImpl implements JdbcService{
    
        @Autowired
        private JdbcDao jdbcDao;
    
        @Override
        public List<Map<String, Object>> listUsers() {
            return jdbcDao.listUsers();
        }
    }

    四、单元测试

    @RunWith(SpringRunner.class)
    @SpringBootTest
    class SpringdatajdbcApplicationTests {
    
        @Autowired
        private JdbcService jdbcService;
    
        @Test
        public void testListUsers() {
            List<Map<String, Object>> userList = jdbcService.listUsers();
            if(userList != null && userList.size()>0){
                for(Map<String,Object> user : userList){
                    System.out.println("id:" + user.get("id"));
                    System.out.println("username:" + user.get("name"));
                    System.out.println("age:" + user.get("age"));
                }
            }
        }
    }
  • 相关阅读:
    20.multi_case04
    Linux 性能监测:Memory
    Linux 性能监测:介绍
    Linux 性能监测:CPU
    服务器压力上不去原因分析
    Oracle数据库shutdown immediate被hang住的几个原因
    性能测试需求指标分析方法
    关于spotlight for Windows和spotlight for oracle的使用
    Oracle性能监控脚本(sql)
    Oracle 常用性能监控SQL语句
  • 原文地址:https://www.cnblogs.com/myitnews/p/12345853.html
Copyright © 2020-2023  润新知