spring boot+Mybatis+Druid例子


1.新建一个spring boot项目,需要选择web和SQL下一些选项,如下图

2.修改pom文件,增加druid包

        <!-- alibaba的druid数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>

3.修改application.properties配置,添加数据库配置

# 数据库访问配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
# 下面为连接池的补充设置,应用到上面所有数据源中
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
# 配置获取连接等待超时的时间
spring.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall,log4j
spring.datasource.logSlowSql=true

4.修改application.properties配置,添加mybatis相关配置

# 注意:对应实体类的路径,多个package之间可以用逗号
mybatis.type-aliases-package=com.example.springbootMybatis.system.model;com.example.springbootMybatis.order.model
#注意:一定要对应mapper映射xml文件的所在路径
mybatis.mapper-locations=classpath:mapper/*.xml

5.启动类增加mybatis的包扫描

@MapperScan("com.example.springbootMybatis.*.dao")
@EnableTransactionManagement
@SpringBootApplication
public class SpringbootMybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootMybatisApplication.class, args);
    }
}

6.在resources文件夹下建立mapper文件夹(和上面classpath:mapper/*.xml配置对应),在mapper文件夹下新建UserMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.springbootMybatis.system.dao.UserDao" >

    <select id="get" parameterType="string" resultType="user" >
        select id,login_name loginName,login_time loginTime from user
    </select>
  
</mapper>

由于上面配置了mybatis.type-aliases-package,所以resultType="user"这里不需要写类的全名。

7.写相应的service,dao,controller,

@RestController
public class UserController {
    
    @Autowired
    private UserService  userService;
    
    @GetMapping("/userInfo")
    public User getUserInfo() {
        return userService.getUserInfo("test");
    }
}
public class User {
    
    private String loginName;
    
    private Date loginTime;

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public Date getLoginTime() {
        return loginTime;
    }

    public void setLoginTime(Date loginTime) {
        this.loginTime = loginTime;
    }
    
    
}
@Service
public class UserService {
    @Autowired
    private UserDao userDao;
    
    public User getUserInfo(String loginName){
        return userDao.get(loginName);
    }
}
@Mapper
public interface UserDao {

    User get(String loginName);
}

 

8.整个项目结构如下:

 

注意启动类一定要放在第一级包目录下,如上图,不然不能扫描controller.

 

需要项目代码,可以发邮件zhuyuehua110@163.com

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM