国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Spring Boot中MyBatis的使用方法

詳解Spring Boot中MyBatis的使用方法

2020-12-04 09:16winner_0715 Java教程

mybatis初期使用比較麻煩,需要各種配置文件、實體類、dao層映射關聯、還有一大推其它配置。當然mybatis也發現了這種弊端。下面通過本文給大家詳細介紹Spring Boot中MyBatis的使用方法,感興趣的朋友一起看看吧

orm框架的本質是簡化編程中操作數據庫的編碼,發展到現在基本上就剩兩家了,一個是宣稱可以不用寫一句SQL的hibernate,一個是可以靈活調試動態sql的mybatis,兩者各有特點,在企業級系統開發中可以根據需求靈活使用。發現一個有趣的現象:傳統企業大都喜歡使用hibernate,互聯網行業通常使用mybatis。

hibernate特點就是所有的sql都用Java代碼來生成,不用跳出程序去寫(看)sql,有著編程的完整性,發展到最頂端就是spring data jpa這種模式了,基本上根據方法名就可以生成對應的sql了。

mybatis初期使用比較麻煩,需要各種配置文件、實體類、dao層映射關聯、還有一大推其它配置。當然mybatis也發現了這種弊端,初期開發了generator可以根據表結果自動生產實體類、配置文件和dao層代碼,可以減輕一部分開發量;后期也進行了大量的優化可以使用注解了,自動管理dao層和配置文件等,發展到最頂端就是今天要講的這種模式了,mybatis-spring-boot-starter就是springboot+mybatis可以完全注解不用配置文件,也可以簡單配置輕松上手。

mybatis-spring-boot-starter

官方說明:MyBatis Spring-Boot-Starter will help you use MyBatis with Spring Boot

其實就是myBatis看spring boot這么火熱也開發出一套解決方案來湊湊熱鬧,但這一湊確實解決了很多問題,使用起來確實順暢了許多。mybatis-spring-boot-starter主要有兩種解決方案,一種是使用注解解決一切問題,一種是簡化后的老傳統。

當然任何模式都需要首先引入mybatis-spring-boot-starter的pom文件,現在最新版本是1.1.1

 
?
1
 
2
3
4
5
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.1.1</version>
</dependency>

無配置文件注解版

就是一切使用注解搞定。

實在是不喜歡把sql用注解的形式寫在java類中的形式,所以就忽略吧...

下面討論一下xml版本

1 添加相關maven依賴

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>spring-boot-mybatis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>spring-boot-mybatis</name>
  <description>Demo project for Spring Boot</description>
  <!--
    spring boot 父節點依賴,
    引入這個之后相關的引入就不需要添加version配置,
    spring boot會自動選擇最合適的版本進行添加。
   -->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
    <relativePath/>
  </parent>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <!--MySQL數據庫驅動-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <fork>true</fork>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

2.在applications.properties配置文件中添加MySQL的配置

 
?
1
 
2
3
4
5
6
7
8
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10

Spring boot會自動加載spring.datasource.*相關配置,數據源就會自動注入到sqlSessionFactory中,sqlSessionFactory會自動注入到Mapper中,對了你一切都不用管了,直接拿起來使用就行了。

3.編寫測試實體類DemoInfo

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.winner.po;
public class DemoInfo {
  private Integer id;
  private String name;
  private String password;
  public Integer getId() {
    return id;
  }
  public void setId(Integer id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getPassword() {
    return password;
  }
  public void setPassword(String password) {
    this.password = password;
  }
}

4.編寫Mapper接口

 
?
1
 
2
3
4
5
package com.winner.mapper;
import com.winner.po.DemoInfo;
public interface DemoInfoMapper {
  DemoInfo queryById(Integer id);
}

在啟動類中使用@MapperScan注解掃描mapper接口

 
?
1
 
2
3
4
5
6
7
8
9
10
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.winner.mapper")
public class SpringBootMybatisApplication {
  public static void main(String[] args) {
    SpringApplication.run(SpringBootMybatisApplication.class, args);
  }
}

5.編寫配置文件

DemoInfoMapper.xml

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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.winner.mapper.DemoInfoMapper">
  <resultMap id="BaseResultMap"
    type="com.winner.po.DemoInfo">
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="password" property="password" jdbcType="VARCHAR" />
  </resultMap>
  <sql id="Base_Column_List">
    id, name, password
  </sql>
  <select id="queryById" resultMap="BaseResultMap"
    parameterType="java.lang.Integer">
    select
    <include refid="Base_Column_List" />
    from demo_info
    where id = #{id}
  </select>
</mapper>

mybatis-config.xml

 
?
1
 
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <!--根據需要加入有關配置-->
</configuration>

注意,需要在application.properties新增以下配置

 
?
1
 
2
mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

指定了mybatis基礎配置文件和實體類映射文件的地址

6.編寫DemoInfoService

 
?
1
 
2
3
4
5
6
7
8
9
@Service
public class DemoInfoService {
  @Resource
  private DemoInfoMapper demoInfoMapper;
  DemoInfo queryById(Integer id){
    DemoInfo demoInfo = demoInfoMapper.queryById(id);
    return demoInfo;
  }
}

7.編寫DemoInfoController

 
?
1
 
2
3
4
5
6
7
8
9
10
@RestController
public class DemoInfoController {
  @Resource
  private DemoInfoService demoInfoService;
  @RequestMapping("/{id}")
  DemoInfo queryById(@PathVariable Integer id){
    DemoInfo demoInfo = demoInfoService.queryById(id);
    return demoInfo;
  }
}

運行訪問:http://127.0.0.1:8080/1,運行結果:

 
?
1
 
{"id":1,"name":"zhangsan","password":"123456"}

總結

以上所述是小編給大家介紹的Spring Boot中MyBatis的使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/winner-0715/p/6687246.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 午夜免费福利影院 | 国产精品一区二区不卡 | 久久久久久综合 | 毛片在线视频 | 欧美视频在线观看不卡 | 精品亚洲永久免费精品 | 亚洲在线 | 久久中文字幕一区二区三区 | 亚洲黄页 | 香蕉久久一区二区不卡无毒影院 | 91日韩精品一区二区三区 | 国产这里只有精品 | 欧美日韩激情 | 日韩精品免费视频 | 五月激情综合网 | 午夜成人免费电影 | 在线播放中文字幕 | 午夜电影福利 | 综合久久久久 | 亚洲欧美日韩精品 | 亚洲视频在线免费观看 | 草久在线视频 | 永久av| 毛片91 | 久久天天躁狠狠躁夜夜躁2014 | 性欧美大战久久久久久久免费观看 | 久久久亚洲精品视频 | 日韩性视频 | 日韩欧美大片在线观看 | 黄色免费美女网站 | 国产精品第一区 | 欧美日本韩国一区二区三区 | 亚洲精品资源在线观看 | 成人精品 | 久久久久国产精品午夜一区 | 男人的天堂在线视频 | 欧美一区二区三区xxxx监狱 | 欧美日韩在线免费观看 | 国产伊人一区 | 亚洲不卡高清视频 | 午夜三区|