欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解springboot中mybatis注解形式

 更新時(shí)間:2018年10月12日 14:08:23   投稿:laozhang  
在本文中小編給大家分享了關(guān)于springboot中mybatis注解形式的介紹,有興趣的可以跟著學(xué)習(xí)下。

springboot整合mybatis對(duì)數(shù)據(jù)庫進(jìn)行訪問,本實(shí)例采用注解的方式,如下:

pom.xml文件

 <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類

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類

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);
 
}

測試類如下:

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 {
  }
}

大家可以自己編寫測試類進(jìn)行測試一下,后續(xù)會(huì)更新xml的配置方式和mybatis采用多數(shù)據(jù)源進(jìn)行配置的方式

相關(guān)文章

  • Java 在PPT中添加混合圖表過程詳解

    Java 在PPT中添加混合圖表過程詳解

    這篇文章主要介紹了Java 在PPT中添加混合圖表過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java實(shí)現(xiàn)BASE64編碼和解碼的方法

    Java實(shí)現(xiàn)BASE64編碼和解碼的方法

    本篇文章主要介紹了Java實(shí)現(xiàn)BASE64編碼和解碼的方法,BASE64編碼通常用于轉(zhuǎn)換二進(jìn)制數(shù)據(jù)為文本數(shù)據(jù),有需要的可以了解一下。
    2016-11-11
  • Java中Future和FutureTask的示例詳解及使用

    Java中Future和FutureTask的示例詳解及使用

    Java中的Future和FutureTask通常和線程池搭配使用,用來獲取線程池返回執(zhí)行后的返回值,下面這篇文章主要給大家介紹了關(guān)于Java中Future和FutureTask使用的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Springboot關(guān)于自定義stater的yml無法提示問題解決方案

    Springboot關(guān)于自定義stater的yml無法提示問題解決方案

    這篇文章主要介紹了Springboot關(guān)于自定義stater的yml無法提示問題及解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • java連接數(shù)據(jù)庫增、刪、改、查工具類

    java連接數(shù)據(jù)庫增、刪、改、查工具類

    這篇文章主要介紹了java連接數(shù)據(jù)庫增、刪、改、查工具類,需要的朋友可以參考下
    2014-05-05
  • Java下SpringBoot創(chuàng)建定時(shí)任務(wù)詳解

    Java下SpringBoot創(chuàng)建定時(shí)任務(wù)詳解

    這篇文章主要介紹了Java下SpringBoot創(chuàng)建定時(shí)任務(wù)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    這篇文章主要介紹了Java的面相對(duì)象編程思想,包括類對(duì)象方法和封裝繼承多態(tài)等各個(gè)方面的OOP基本要素,非常推薦,需要的朋友可以參考下,希望可以對(duì)你有所幫助
    2021-07-07
  • 使Java的JButton文字隱藏功能的實(shí)現(xiàn)(不隱藏按鈕的前提)

    使Java的JButton文字隱藏功能的實(shí)現(xiàn)(不隱藏按鈕的前提)

    這篇文章主要介紹了使Java的JButton文字隱藏功能的實(shí)現(xiàn)(不隱藏按鈕的前提),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 基于SpringBoot+Redis實(shí)現(xiàn)一個(gè)簡單的限流器

    基于SpringBoot+Redis實(shí)現(xiàn)一個(gè)簡單的限流器

    在Spring?Boot中使用Redis和過濾器實(shí)現(xiàn)請(qǐng)求限流,過濾器將在每個(gè)請(qǐng)求到達(dá)時(shí)檢查請(qǐng)求頻率,并根據(jù)設(shè)定的閾值進(jìn)行限制,這樣可以保護(hù)您的應(yīng)用程序免受惡意請(qǐng)求或高并發(fā)請(qǐng)求的影響,本文我們通過Spring?Boot?+Redis?實(shí)現(xiàn)一個(gè)輕量級(jí)的消息隊(duì)列,需要的朋友可以參考下
    2023-08-08
  • java 獲取字節(jié)碼文件的幾種方法總結(jié)

    java 獲取字節(jié)碼文件的幾種方法總結(jié)

    這篇文章主要介紹了java 獲取字節(jié)碼文件的幾種方法總結(jié)的相關(guān)資料,這里總結(jié)了三種方法幫助大家實(shí)現(xiàn)該功能,需要的朋友可以參考下
    2017-08-08

最新評(píng)論