MyBatis快速入門

一、MyBatis背景介紹

成都創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為左云企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè),左云網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

MyBatis是支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(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

MyBatis快速入門

2.添加相應(yīng)的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目錄下

MyBatis快速入門

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表:

MyBatis快速入門

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

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

MyBatis快速入門

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表中對應(yīng)的實體類User.java

MyBatis快速入門

User.java

package codeRose.dao;
public class User {
  //實體類的屬性與表中字段一一對應(yīng)
  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語句, 設(shè)置select標簽的id屬性為getUser,id屬性值必須是唯一的,不能夠重復(fù) 使用parameterType屬性指明查詢時使用的參數(shù)類型,resultType屬性指明查詢返回的結(jié)果集類型 
    resultType="me.gacl.domain.User"就表示將查詢結(jié)果封裝成一個User類的對象返回 User類就是users表所對應(yīng)的實體類 -->
  <!-- 根據(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的配置文件(它也加載關(guān)聯(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é)果如下:

MyBatis快速入門

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持創(chuàng)新互聯(lián)!

新聞名稱:MyBatis快速入門
文章鏈接:http://bm7419.com/article42/jdehhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、云服務(wù)器、品牌網(wǎng)站制作、、網(wǎng)站設(shè)計公司軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)