亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

詳解springboot中mybatis注解形式

2024-07-14 08:42:32
字體:
來源:轉載
供稿:網友

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

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 */@Mapperpublic 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)@SpringBootTestpublic 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采用多數據源進行配置的方式


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩成人av网址| 夜色77av精品影院| 国产精品尤物福利片在线观看| 精品视频偷偷看在线观看| 欧美性生交大片免费| 国产午夜精品理论片a级探花| 亚洲视频在线免费观看| 狠狠躁夜夜躁人人爽超碰91| 国产精品wwwwww| 欧美午夜精品久久久久久浪潮| 亚洲电影成人av99爱色| 久久免费视频网| 亚洲天堂av图片| 伊人久久男人天堂| 91精品国产高清久久久久久| 久久久久久尹人网香蕉| 丝袜情趣国产精品| 91久久精品国产91久久| 在线成人激情黄色| 亚洲字幕在线观看| 欧美在线一级视频| 日韩精品中文字幕久久臀| 精品亚洲国产成av人片传媒| 欧美天天综合色影久久精品| 精品久久久久久久久久国产| 国产精品久久久久久久久久久久久| 国产亚洲激情在线| 日韩欧美在线网址| 成人中文字幕在线观看| 97久久精品人人澡人人爽缅北| 国产精品人人做人人爽| 亚洲色图综合网| 夜夜嗨av色一区二区不卡| 中文字幕日韩欧美在线视频| 亚洲一区二区久久| 亚洲色图欧美制服丝袜另类第一页| 亚洲一区二区自拍| 日韩精品视频在线| 欧美精品电影在线| 久久亚洲综合国产精品99麻豆精品福利| 97精品国产97久久久久久免费| 精品国产乱码久久久久久婷婷| 国产精品久久久久久婷婷天堂| 国产成人精品免费久久久久| 成人免费午夜电影| 亚洲人成网站色ww在线| 欧美日本高清一区| 欧美日韩国产综合新一区| 色综合久久天天综线观看| 国产精品欧美日韩| 国产日韩欧美日韩| 日本久久亚洲电影| 亚洲日本中文字幕免费在线不卡| 欧洲午夜精品久久久| 久久久精品免费视频| 亚洲最大的av网站| 欧美激情影音先锋| 国产精品av网站| 欧美高清理论片| 欧美超级乱淫片喷水| 久久久久久18| 精品调教chinesegay| 日韩中文字幕在线视频| 日韩欧美国产高清91| 欧美高清视频免费观看| 国产亚洲欧洲高清| 91精品综合视频| 国产精品久在线观看| 久久激情五月丁香伊人| 国产一区二区三区视频免费| 久久久久北条麻妃免费看| 亚洲视频一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 色偷偷亚洲男人天堂| 亚洲男人的天堂在线| 国产999视频| 欧美精品videosex极品1| 中文字幕亚洲欧美日韩2019| 3344国产精品免费看| 欧美猛少妇色xxxxx| 国内外成人免费激情在线视频网站| 国产精品男女猛烈高潮激情| 91成品人片a无限观看| 亚洲天堂影视av| 91精品一区二区| 欧美巨大黑人极品精男| 亚洲大胆人体在线| 日韩成人在线视频网站| 亚洲有声小说3d| 777777777亚洲妇女| 欧美电影免费观看电视剧大全| 欧美日韩高清区| 国产精品一区专区欧美日韩| 91国内产香蕉| 日韩免费不卡av| 国产精品69久久| 亚洲人成网在线播放| 欧美视频专区一二在线观看| 色综合色综合网色综合| 国产欧美在线播放| 欧美与欧洲交xxxx免费观看| 日韩一区二区精品视频| 亚洲xxx视频| 国产一区二区三区免费视频| 欧美亚州一区二区三区| 亚洲a一级视频| 国产午夜精品理论片a级探花| 精品免费在线观看| 国产一区二区三区直播精品电影| 2019日本中文字幕| 亚洲视频精品在线| 91免费视频国产| 国产美女被下药99| 欧美一区二区三区免费视| 黑人巨大精品欧美一区二区一视频| 亚洲成人网av| 亚洲国产精品va在看黑人| 97在线看免费观看视频在线观看| 91精品久久久久久| 欧美中文字幕在线观看| 亚洲女性裸体视频| 亚洲国产欧美精品| 欧美激情欧美狂野欧美精品| 久久频这里精品99香蕉| 亚洲自拍欧美色图| 欧美日韩中文字幕日韩欧美| 欧美激情在线有限公司| 亚洲精品影视在线观看| 久久久久北条麻妃免费看| 欧美做受高潮1| 日韩黄色在线免费观看| 久久亚洲综合国产精品99麻豆精品福利| 国产精品色视频| 午夜剧场成人观在线视频免费观看| 中文字幕综合一区| 欧美黄色片视频| 亚洲日韩欧美视频| 久久久最新网址| 亚洲xxxxx| 精品精品国产国产自在线| 国产精品91免费在线| 国产精品久久不能| 在线看福利67194| 91精品视频在线播放| 91久久久国产精品| 国产精品视频免费在线观看| 亚洲自拍偷拍区| 久久精品99久久香蕉国产色戒| 欧美日韩国产精品一区| 久久久精品2019中文字幕神马| 亚洲精品福利免费在线观看| 日本久久久久亚洲中字幕| 国产视频精品一区二区三区| 亚洲最大的av网站| 欧美一区视频在线| 95av在线视频| 亚洲美女性生活视频| 日本成人激情视频| 亚洲精品v欧美精品v日韩精品| 国产精品黄视频| 国产日韩精品视频| 国产成+人+综合+亚洲欧美丁香花| 亚洲精品久久久久中文字幕欢迎你| 亚洲一区亚洲二区亚洲三区|