最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis快速入門

 更新時間:2017年03月15日 14:11:12   作者:codeRose  
MyBatis是支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設置以及結(jié)果集的檢索。想要學好它,那就要從MyBatis基礎知識學起,下面跟著小編一起來看下吧

一、MyBatis背景介紹

MyBatis是支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設置以及結(jié)果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plain Old Java Objects,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄。

二、MyBatis開發(fā)環(huán)境搭建

2.1準備開發(fā)環(huán)境

1.在eclipse中新建一個javaweb項目MyBatis_Study

2.添加相應的jar包

 mybatis-3.1.1.jar  

 mysql-connector-java-5.1.7-bin.jar

(注:可在網(wǎng)站 http://www.manyjar.com/showJarHot 搜索下載jar包)

3.將jar包拖到創(chuàng)建項目lib目錄下

4.用SQLyog工具創(chuàng)建數(shù)據(jù)庫mybatis

CREATE DATABASE mybatis;
USE mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),age INT);
INSERT INTO users(NAME,age) VALUES('codeRose',24);
INSERT INTO users(NAME,age) VALUES('codeRose',24);

全選中SQL腳本執(zhí)行創(chuàng)建數(shù)據(jù)庫和users表:

2.2、使用MyBatis查詢數(shù)據(jù)庫數(shù)據(jù)

1.創(chuàng)建MyBatis配置文件conf.xml(src目錄下)

conf.xml:

<?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>
 <environments default="development">
 <environment id="development">
<transactionManager type="JDBC" />
 <!-- 配置數(shù)據(jù)庫連接信息 -->
 <dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="" />
</dataSource>
</environment>
</environments>
</configuration>

2.定義users表中對應的實體類User.java

User.java

package codeRose.dao;
public class User {
  //實體類的屬性與表中字段一一對應
  private int id;
  private String name;
  private int age;
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  @Override
  public String toString() {
    return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
  }
}

3.定義操作users表的sql映射文件userMapper.xml

<?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,namespace的值為包名+sql映射文件名,這樣就能保證namespace值唯一 -->
<mapper namespace="codeRose.mapping.userMapper">
  <!-- 在select標簽中編寫查詢的SQL語句, 設置select標簽的id屬性為getUser,id屬性值必須是唯一的,不能夠重復 使用parameterType屬性指明查詢時使用的參數(shù)類型,resultType屬性指明查詢返回的結(jié)果集類型 
    resultType="me.gacl.domain.User"就表示將查詢結(jié)果封裝成一個User類的對象返回 User類就是users表所對應的實體類 -->
  <!-- 根據(jù)id查詢得到一個user對象 -->
  <select id="getUser" parameterType="int" resultType="codeRose.dao.User">
    select * from users where id=#{id}
  </select>
</mapper>

4.在conf.xml中注冊userMapper.xml

<?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>
 <environments default="development">
 <environment id="development">
<transactionManager type="JDBC" />
 <!-- 配置數(shù)據(jù)庫連接信息 -->
 <dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="" />
</dataSource>
</environment>
</environments>
<!-- 注冊sql映射文件 -->
<mappers>
<!-- 包名/文件名 -->
<mapper resource="codeRose/mapping/userMapper.xml"/>
</mappers>
</configuration>

5.編寫測試代碼Test.java

package codeRose.test;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import codeRose.dao.User;
public class Test {
  public static void main(String[] args) {
    // myBatis的配置文件
    String resource="conf.xml";
    //使用類加載器加載mybatis的配置文件(它也加載關聯(lián)的映射文件)
    InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
    //構(gòu)建sqlSession的工廠
    SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(is);
    //使用Mybatis提供的Resources類加載MyBatis的配置文件
    //Reader reader=Resources.getResourceAsReader(resource);
    //構(gòu)建sqlSession的工廠
    //SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
    //創(chuàng)建能執(zhí)行映射文件中sql的sqlSession
    SqlSession session=sessionFactory.openSession();
    /*
     * 映射sql的標識字符串,
     * codeRose.mapping.userMapper是userMapper.xml文件中mapper標簽的namespace屬性的值,
     * getUser是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執(zhí)行的SQL
     */
    String statement="codeRose.mapping.userMapper.getUser";
    //執(zhí)行查詢返回一個唯一user對線的sql
    User user=session.selectOne(statement,1);
    System.out.println("查詢所得的數(shù)據(jù)庫信息為:"+user);
  }
}

執(zhí)行結(jié)果如下:

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

  • Vue.Js及Java實現(xiàn)文件分片上傳代碼實例

    Vue.Js及Java實現(xiàn)文件分片上傳代碼實例

    這篇文章主要介紹了Vue.Js及Java實現(xiàn)文件分片上傳代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 基于Java8并行流(parallelStream)的注意點

    基于Java8并行流(parallelStream)的注意點

    這篇文章主要介紹了Java8并行流(parallelStream)的注意點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java正則表達式之Pattern類實例詳解

    Java正則表達式之Pattern類實例詳解

    Pattern類的作用在于編譯正則表達式后創(chuàng)建一個匹配模式,下面這篇文章主要給大家介紹了關于Java正則表達式之Pattern類的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • spring boot security設置忽略地址不生效的解決

    spring boot security設置忽略地址不生效的解決

    這篇文章主要介紹了spring boot security設置忽略地址不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 詳解spring cloud分布式關于熔斷器

    詳解spring cloud分布式關于熔斷器

    這篇文章主要介紹了詳解spring cloud分布式關于熔斷器,詳細的介紹了什么是熔斷器和使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 淺析java中static的用法

    淺析java中static的用法

    這篇文章主要介紹了java中static的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Spring框架構(gòu)造注入type屬性實例詳解

    Spring框架構(gòu)造注入type屬性實例詳解

    這篇文章主要介紹了Spring框架構(gòu)造注入type屬性實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 詳解Spring Security如何配置JSON登錄

    詳解Spring Security如何配置JSON登錄

    這篇文章主要介紹了詳解Spring Security如何配置JSON登錄,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • windows 部署JAVA環(huán)境安裝iDea的詳細步驟

    windows 部署JAVA環(huán)境安裝iDea的詳細步驟

    這篇文章主要介紹了windows 部署JAVA環(huán)境安裝iDea的詳細步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Java定時任務取消的示例代碼

    Java定時任務取消的示例代碼

    java定時任務如何取消,并比如,我之前想每周二晚上6點自動生成一條devops流水線,現(xiàn)在我想停掉,下面給大家分享java定時任務取消的示例代碼,演示如何創(chuàng)建一個每周二晚上6點自動生成一條devops流水線的定時任務,感興趣的朋友一起看看吧
    2024-02-02

最新評論

清徐县| 康乐县| 芮城县| 驻马店市| 万全县| 延津县| 大同县| 上饶县| 安龙县| 湘西| 电白县| 乡城县| 司法| 石林| 昌黎县| 同仁县| 高陵县| 隆化县| 绥德县| 普格县| 屏山县| 安乡县| 抚松县| 元朗区| 南宫市| 白银市| 福泉市| 白山市| 富源县| 通榆县| 甘洛县| 望奎县| 龙州县| 三河市| 临沭县| 彭阳县| 三台县| 专栏| 新兴县| 阿鲁科尔沁旗| 宁阳县|