1. 程式人生 > >idea 搭建Spring Boot +Mybatis

idea 搭建Spring Boot +Mybatis

statement myba @override location odin -name prefix 官網 pro

環境準備

idea 15
jDK
tomcat
maven

搭建方式

  • 官網下載源碼包解壓縮
  • 使用idea中的Spring initializr創建

    這兩種方法創建的項目完全相同,只是操作方式不一樣

這裏介紹第二種方法,用idea創建

①在idea中,選擇File>new Project出現如下界面

技術分享圖片

②填寫GVN(GroupId,ArtifactctId,Version)(Maven坐標,是用來唯一標識jar包),選擇版本
技術分享圖片
③選擇依賴,如下圖,勾選Web,Mybatis,MySQL
技術分享圖片
④填寫項目名稱,選擇項目目錄
技術分享圖片

⑤稍等一會,即可看到項目已下載下來
技術分享圖片

這裏其實項目已經準備好了,但使用還需配置一些參數,下面我們通過一個demo嘗試使用它

其它配置

①配置端口號,數據庫連接,mybatis等

這些配置我們都集成在一個文件中,我們在項目的src/main/resouces目錄下可以找到application.proteries文件,刪除該文件,用application.yml配置,這種方式更簡潔方便,文件內容如下

server:
    # 訪問端口號
    port: 8080

spring:
    datasource:
        url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
        username: root
        password: password
         # 使用阿裏巴巴的開源框架druid數據庫連接池
        type: com.alibaba.druid.pool.DruidDataSource
        platform: mysql
        # mysql 8.0.+使用的驅動
        driver-class-name: com.mysql.cj.jdbc.Driver
        
        filters: stat
        maxActive: 20
        initialSize: 1
        maxWait: 60000
        minIdle: 1
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: select ‘x‘
        testWhileIdle: true
         testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxOpenPreparedStatements: 20

mybatis:
    # mapper映射文件地址,這裏我在src/main/resouces下新建文件夾mapper
     mapper-locations: classpath*:mapper/*.xml
    # 配置bean掃描目錄,也可用註解
    type-aliases-package: classpath*:com.example.demo.entity

② 配置pom文件

pom文件中描述了maven管理的包等,上面我們用到了Druid作為數據庫連接池,所以我們需要在pom.xml中的<dependencies>...</dependencies>中添加如下代碼

<!-- alibaba的druid數據庫連接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.0</version>
</dependency>
    

這樣jar包就引進來了

編寫程序

① 在數據庫新建一張表user,屬性如下(自己填寫數據)
技術分享圖片
② User.java

src/main/java/com.example.demo/entity/User.java

目錄需自己創建,下面步驟同理

public class User {

    private Integer id;
    private String name;
    private String sex;
    private Integer age ;
    
    // set** and get** 方法省略,自己寫
    
}

③ UserMapper.java

src/main/java/com.example.demo/mapper/UserMapper.java


@Mapper         //聲明是一個Mapper,與springbootApplication中的@MapperScan二選一寫上即可
@Repository
public interface UserMapper {
    List<User> getAllUser();
}

④ UserMapper.xml

src/main/resouces/mapper/UserMaper.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.demo.mapper.UserMapper">
    <select id="getAllUser" resultType="com.example.demo.entity.User">
        SELECT * FROM user
    </select>
</mapper>

⑤ UserService.java

src/main/java/com.example.demo/service/UserService.java

public interface UserService {
    List<User> getAllUser();
}

⑥ UserServiceImpl.java

src/main/java/com.example.demo/service/impl/UserServiceImpl.java

@Service(value = "userService")
public class UserServiceImpl implements UserService {

    @Resource
    private UserMapper userMapper;


    @Override
    public List<User> getAllUser() {
        return userMapper.getAllUser();
    }
}

⑦ UserController.java

src/main/java/com.example.demo/controller/UserController.java

@Controller
@RequestMapping(value = "/user")
public class UserController {

    @Autowired
    private UserService userService;


    @RequestMapping("/getAllUser")
    @ResponseBody
    private List<User> getAllUser() {
        List<User> users =  userService.getAllUser();

        return users;

    }

}

⑧ DemoApplication.java

src/main/java/com.example.demo/DemoApplication.java

註意該文件已存在,替換或修改

@SpringBootApplication
@EnableTransactionManagement   //開啟事務管理
@ComponentScan("com.example.demo")
//@MapperScan("com.example.demo.mapper")//與dao層的@Mapper二選一寫上即可(主要作用是掃包)
public class DemoApplication {

    public static void main(String[] args) {

        SpringApplication.run(DemoApplication.class, args);
    }


    @Bean(destroyMethod = "close", initMethod = "init")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DruidDataSource druidDataSource() {
        DruidDataSource druidDataSource = new DruidDataSource();
        return  druidDataSource;
    }

}

這裏是目錄結構圖
技術分享圖片

測試

1.運行DemoApplication.java,出現如下界面則成功

技術分享圖片

2.在瀏覽器輸入127.0.0.1:8080/user/getAllUser
技術分享圖片

成功!

idea 搭建Spring Boot +Mybatis