一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

服務器之家 - 編程語言 - Java教程 - 詳解springboot中mybatis注解形式

詳解springboot中mybatis注解形式

2021-06-03 13:48Java之家 Java教程

在本文中小編給大家分享了關于springboot中mybatis注解形式的介紹,有興趣的可以跟著學習下。

springboot整合mybatis對數據庫進行訪問,本實例采用注解的方式,如下:

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
<parent>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-parent</artifactid>
    <version>2.0.5.release</version>
  </parent>
  <properties>
    <project.build.sourceencoding>utf-8</project.build.sourceencoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </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>
 
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-web</artifactid>
    </dependency>
    <dependency>
      <groupid>mysql</groupid>
      <artifactid>mysql-connector-java</artifactid>
      <version>5.1.45</version>
    </dependency>
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-jdbc</artifactid>
    </dependency>
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-configuration-processor</artifactid>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupid>org.mybatis.spring.boot</groupid>
      <artifactid>mybatis-spring-boot-starter</artifactid>
      <version>1.3.1</version>
    </dependency>
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-maven-plugin</artifactid>
      </plugin>
    </plugins>
  </build>
</project>

domain類

?
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
package com.rookie.bigdata.domain;
 
/**
 * @author
 * @date 2018/10/9
 */
public class student {
  private long stuno;
  private string name;
  private integer age;
  public student() {
  }
  public student(string name, integer age) {
    this.name = name;
    this.age = age;
  }
  public student(long stuno, string name, integer age) {
    this.stuno = stuno;
    this.name = name;
    this.age = age;
  }
  public long getstuno() {
    return stuno;
  }
  public void setstuno(long stuno) {
    this.stuno = stuno;
  }
  public string getname() {
    return name;
  }
  public void setname(string name) {
    this.name = name;
  }
  public integer getage() {
    return age;
  }
  public void setage(integer age) {
    this.age = age;
  }
  @override
  public boolean equals(object o) {
    if (this == o) return true;
    if (o == null || getclass() != o.getclass()) return false;
    student student = (student) o;
    if (stuno != null ? !stuno.equals(student.stuno) : student.stuno != null) return false;
    if (name != null ? !name.equals(student.name) : student.name != null) return false;
    return age != null ? age.equals(student.age) : student.age == null;
  }
  @override
  public int hashcode() {
    int result = stuno != null ? stuno.hashcode() : 0;
    result = 31 * result + (name != null ? name.hashcode() : 0);
    result = 31 * result + (age != null ? age.hashcode() : 0);
    return result;
  }
  @override
  public string tostring() {
    return "student{" +
        "stuno=" + stuno +
        ", name='" + name + '\'' +
        ", age=" + age +
        '}';
  }
}

studentmapper類

?
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
package com.rookie.bigdata.mapper;
import com.rookie.bigdata.domain.student;
import org.apache.ibatis.annotations.*;
import java.util.list;
import java.util.map;
/**
 * @author
 * @date 2018/10/9
 */
@mapper
public interface studentmapper {
 
  @select("select * from student where name = #{name}")
  student findbyname(@param("name") string name);
 
  @results({
      @result(property = "name", column = "name"),
      @result(property = "age", column = "age")
  })
  @select("select name, age from student")
  list<student> findall();
 
  @insert("insert into student(name, age) values(#{name}, #{age})")
  int insert(@param("name") string name, @param("age") integer age);
 
  @update("update student set age=#{age} where name=#{name}")
  void update(student student);
 
  @delete("delete from student where id =#{id}")
  void delete(long id);
 
  @insert("insert into student(name, age) values(#{name}, #{age})")
  int insertbyuser(student student);
 
  @insert("insert into student(name, age) values(#{name,jdbctype=varchar}, #{age,jdbctype=integer})")
  int insertbymap(map<string, object> map);
 
}

測試類如下:

?
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
package com.rookie.bigdata.mapper;
import org.junit.test;
import org.junit.runner.runwith;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.boot.test.context.springboottest;
import org.springframework.test.context.junit4.springrunner;
import org.springframework.transaction.annotation.transactional;
import static org.junit.assert.*;
/**
 * @author
 * @date 2018/10/10
 */
@runwith(springrunner.class)
@springboottest
public class studentmappertest {
 
  @autowired
  private studentmapper studentmapper;
 
  @test
  public void findbyname() throws exception {
    system.out.println(studentmapper.findbyname("zhangsan"));
  }
 
  @test
  public void findall() throws exception {
    system.out.println(studentmapper.findbyname("zhangsan"));
  }
 
  @test
  public void insert() throws exception {
    system.out.println(  studentmapper.insert("zhangsan", 20));
  }
 
  @test
  public void update() throws exception {
  }
 
  @test
  public void delete() throws exception {
  }
 
  @test
  public void insertbyuser() throws exception {
  }
 
  @test
  public void insertbymap() throws exception {
  }
}

大家可以自己編寫測試類進行測試一下,后續會更新xml的配置方式和mybatis采用多數據源進行配置的方式

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 98成人| 三级全黄裸体 | 98精品全国免费观看视频 | 成年人在线观看免费视频 | 日韩欧美中文字幕一区二区三区 | 日韩欧一级毛片在线播无遮挡 | 亚洲精品私拍国产福利在线 | 日韩一品在线播放视频一品免费 | 手机看片国产自拍 | 青苹果乐园影院在线播放 | 天天操天天做 | 日本一本二本三区免费 | 美女被扣逼 | 奇米网7777| 莫莉瑞典1977k | ferr孕妇videos毛茸茸 | 99久久一香蕉国产线看观看 | 好湿好紧太硬了我太爽了网站 | 久久99热在线观看7 久久99精品涩AV毛片观看 | 火影小南被爆羞羞网站 | 天天色踪合合 | 欧美香蕉 | 向日葵视频app下载18岁以下勿看 | narutotsunade全彩雏田 | 精品一区二区三区色花堂 | 欧美在线播放成人免费 | 欧美精品国产一区二区三区 | 国产精品反差婊在线观看 | 精品国产91久久久久久久 | 香蕉97超级碰碰碰免费公 | 国产日韩欧美在线一二三四 | 无人区在线观看免费观看 | 91麻豆网址 | 消息称老熟妇乱视频一区二区 | 日韩去日本高清在线 | 色亚洲视频 | 91热爆| 久久久无码精品亚洲欧美 | 97热在线 | hd性欧美俱乐部中文 | 范冰冰上面好大下面好紧 |