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