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

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

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

服務器之家 - 編程語言 - Java教程 - SpringBoot項目整合mybatis的方法步驟與實例

SpringBoot項目整合mybatis的方法步驟與實例

2021-07-21 14:45雙斜杠少年 Java教程

今天小編就為大家分享一篇關于SpringBoot項目整合mybatis的方法步驟與實例,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1. 導入依賴的jar包

springboot項目整合mybatis之前首先要導入依賴的jar包,配置pom.xml文件如下:

?
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.u</groupid>
  <artifactid>springboot-mybatis</artifactid>
  <version>1.0-snapshot</version>
  <parent>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-parent</artifactid>
    <version>1.3.0.release</version>
  </parent>
  <properties>
    <start-class>com.us.application</start-class>
    <mybatis.version>3.2.7</mybatis.version>
    <mybatis-spring.version>1.2.2</mybatis-spring.version>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
  </properties>
  <dependencies>
    <!--springboot-->
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-web</artifactid>
    </dependency>
    <!--db-->
    <dependency>
      <groupid>mysql</groupid>
      <artifactid>mysql-connector-java</artifactid>
      <version>6.0.5</version>
    </dependency>
    <dependency>
      <groupid>com.mchange</groupid>
      <artifactid>c3p0</artifactid>
      <version>0.9.5.2</version>
      <exclusions>
        <exclusion>
          <groupid>commons-logging</groupid>
          <artifactid>commons-logging</artifactid>
        </exclusion>
      </exclusions>
    </dependency>
    <!--mybatis-->
    <dependency>
      <groupid>org.springframework</groupid>
      <artifactid>spring-jdbc</artifactid>
    </dependency>
    <dependency>
      <groupid>org.mybatis</groupid>
      <artifactid>mybatis</artifactid>
      <version>${mybatis.version}</version>
    </dependency>
    <dependency>
      <groupid>org.mybatis</groupid>
      <artifactid>mybatis-spring</artifactid>
      <version>${mybatis-spring.version}</version>
    </dependency>
    <!--util-->
    <dependency>
      <groupid>org.apache.commons</groupid>
      <artifactid>commons-lang3</artifactid>
      <version>3.4</version>
    </dependency>
  </dependencies>
</project>

2. 配置數據源

pom.xml配置完畢后需要配置數據源了。新建dbconfig類配置數據源,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import org.springframework.core.env.environment;
import com.alibaba.druid.pool.druiddatasource;
import com.google.common.base.preconditions;
@configuration
public class dbconfig {
  @autowired
  private environment env;
  @bean(name = "datasource")
  public druiddatasource datasource() {
    final string url = preconditions.checknotnull(env.getproperty("ms.db.url"));
    final string username = preconditions.checknotnull(env.getproperty("ms.db.username"));
    final string password = env.getproperty("ms.db.password");
    final int maxactive = integer.parseint(env.getproperty("ms.db.maxactive", "200"));
    druiddatasource datasource = new druiddatasource();
    datasource.seturl(url);
    datasource.setusername(username);
    datasource.setpassword(password);
    datasource.setmaxactive(maxactive);
    return datasource;
  }
}

3. 添加數據庫連接信息

在配置文件application.properties中添加數據庫連接信息如下:

?
1
2
3
4
ms.db.url=jdbc:mysql://localhost:3306/dev?prepstmtcachesize=517&cacheprepstmts=true&autoreconnect=true&characterencoding=utf-8&allowmultiqueries=true
ms.db.username=root
ms.db.password=admin
ms.db.maxactive=500

4. 配置mybatis的sqlsessionfactorybean

數據源配置完以后要配置mybatis的sqlsessionfactorybean進行掃描mapper,新建mybatisconfig類代碼如下(classpath*:mapper/*.xml為mapper.xml文件路徑):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import javax.sql.datasource;
import org.mybatis.spring.sqlsessionfactorybean;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.context.applicationcontext;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
@configuration
public class mybatisconfig {
  @autowired
  private datasource datasource;
  @bean(name = "sqlsessionfactory")
  public sqlsessionfactorybean sqlsessionfactory(applicationcontext applicationcontext) throws exception {
    sqlsessionfactorybean sessionfactory = new sqlsessionfactorybean();
    sessionfactory.setdatasource(datasource);
    sessionfactory.setmapperlocations(applicationcontext.getresources("classpath*:mapper/*.xml"));
    return sessionfactory;
  }
}

5. 配置mapperscannerconfigurer掃描dao層

然后配置mapperscannerconfigurer掃描dao層,新建類mybatisscannerconfig代碼如下(注意與mybatisconfig不要寫在一個類里):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import org.mybatis.spring.mapper.mapperscannerconfigurer;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
@configuration
public class mybatisscannerconfig {
  @bean
  public mapperscannerconfigurer mapperscannerconfigurer() {
    mapperscannerconfigurer mapperscannerconfigurer = new mapperscannerconfigurer();
    mapperscannerconfigurer.setbasepackage("com.example.*.dao");
    mapperscannerconfigurer.setsqlsessionfactorybeanname("sqlsessionfactory");
    return mapperscannerconfigurer;
  }
}

6. 開啟數據庫事務(必須)代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import javax.sql.datasource;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import org.springframework.jdbc.datasource.datasourcetransactionmanager;
import org.springframework.transaction.platformtransactionmanager;
import org.springframework.transaction.annotation.transactionmanagementconfigurer;
@configuration
public class transactionconfig implements transactionmanagementconfigurer{
  @autowired
  private datasource datasource;
  @bean(name = "transactionmanager")
  @override
  public platformtransactionmanager annotationdriventransactionmanager() {
    return new datasourcetransactionmanager(datasource);
  }
}

7. 實戰

配置大致就是如此,然后就是新建java bean(省略,文章底部有源碼地址)

新建mapper.xml文件(省略,文章底部有源碼地址,關于mapper.xml 文件編寫的疑問可以看我以前的springmvc+mybatis 系列文章)

新建dao層。代碼如下:

?
1
2
3
4
5
6
7
import java.util.list;
import java.util.map;
import com.example.base.model.user;
import com.example.config.mybatisrepository;
public interface userdao {
  public list<user> getlist(map<string,object> map);
}

service層要在實現類上添加@service注解,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.map;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.service;
import com.example.base.dao.userdao;
import com.example.base.service.userservice;
@service
public class userserviceimpl implements userservice {
  @autowired
  private userdao userdao;
  public object getlist(map<string, object> map) {
    return userdao.getlist(map);
  }
}

controller層也要加@controller注解代碼如下:

?
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
import javax.servlet.http.httpservletrequest;
import java.util.map;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.http.httpstatus;
import org.springframework.http.responseentity;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.requestmethod;
import org.springframework.web.bind.annotation.responsebody;
import com.example.base.service.userservice;
import com.example.base.util.commonutil;
import com.example.demo.serviceemail;
@controller
@requestmapping(value = "/users")
public class usercontroller {
  @autowired
  private userservice userservice;
  @autowired
  private serviceemail serviceemail;
  /***
   * api :localhost:8099/users?id=99 localhost:8099/users
   *
   * @param request
   * @return
   */
  @requestmapping(method = requestmethod.get, produces = "application/json;charset=utf-8")
  @responsebody
  public responseentity<?> list(httpservletrequest request) {
    map<string, object> map = commonutil.getparametermap(request);
    return new responseentity<object>(userservice.getlist(map), httpstatus.ok);
  }
  }

然后在啟動入口類中掃描定義的這些配置累(配置包名可卻省只寫部分包名)如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.arrays;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.boot.builder.springapplicationbuilder;
import org.springframework.boot.context.web.springbootservletinitializer;
import org.springframework.context.applicationcontext;
import org.springframework.context.annotation.componentscan;
import org.springframework.scheduling.annotation.enablescheduling;
@componentscan(basepackages ="com.example")
@springbootapplication
public class application extends springbootservletinitializer{
  @override
  protected springapplicationbuilder configure(springapplicationbuilder application) {
    return application.sources(application.class);
  }
  public static void main(string[] args) throws exception {
    applicationcontext ctx = springapplication.run(application.class, args);
    string[] beannames = ctx.getbeandefinitionnames();
    arrays.sort(beannames);
    for (string beanname : beannames) {
      system.out.println(beanname);
    }
  }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/u012373815/article/details/52050308

延伸 · 閱讀

精彩推薦
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
主站蜘蛛池模板: 欧美日韩综合 | 欧美精产国品一二三区 | 亚洲国产成人av | 老色批影院 | 国产成人在线视频 | 一级成人av | 国产精品久久久久久久久久免费看 | 国产a视频| 成人二区| 中文字幕在线观看一区二区三区 | 久久久精品网站 | 国产午夜精品久久 | 天天操天天干天天爽 | 久久一区二区三 | 成人av在线网 | 亚洲成人一区二区 | 久久九九国产精品 | 中文字幕一区在线观看视频 | 久久91精品国产 | 特级毛片在线大全免费播放 | 成人精品视频在线观看 | 日本在线观看一区 | 国产片在线看 | 亚洲精品天堂 | 久草 在线 | 一区二区免费 | 欧美成人免费电影 | 免费在线一区二区 | 日韩欧美一级 | 黄色片免费在线观看视频 | 欧美日日| 国产精品久久久久久久一区探花 | 精品久久精品 | 日本网站在线免费观看 | 精品久久久久久久久久久 | 久久久亚洲成人 | 亚洲成av在线| 人人插人 | 日韩成人在线影院 | 欧美 日韩 国产 成人 在线 | 久久精国产|