mybatis的基本配置:實體類、設定檔、對應檔、工具類 、mapper介面

來源:互聯網
上載者:User

標籤:

搭建項目

一:lib(關於架構的jar包和資料庫驅動的jar包)

1,第一步:先把mybatis的核心類庫放進lib裡

 

2,第二步:匯入第三方類庫(在lib裡)。mybatis的核心類庫在運行時還依賴一些第三方類庫

3,第三步:匯入串連資料庫驅動jar包

 

二:建立mybatis的設定檔

1,第一步:先建立實體包,對照著表結構把實體類寫出來。封裝好就是寫get,set方法------不像hibernate,可以自動的將表名欄位名與實體類相對應,不用自己手寫實體類與對應檔

2,第二步:建立xml檔案,檔案名稱可以隨便寫,這裡參考hibernate的規範寫法:mybatis.cfg.xml

      不需要next,因為myeclipse沒有內建mybatis的文檔聲明

3,設定檔由四部分組成:

(1)配置日誌

(2)配置類型別名

把經常要用到的類設定別名,後面就可以使用別名,可簡化代碼---自訂實體類設定別名

(3)設定資料庫串連和交易管理員

(4)匯入對應檔

 

完整的設定檔如下:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!--  設定mtbatis的一些運行參數:日誌,是直接輸出到控制台上還是輸出到log4j檔案中 --><settings><!-- name不可以隨便寫,只能叫這個名字;value有好幾個選項這裡選擇向控制台輸出 --><setting name="logImpl" value="STDOUT_LOGGING"/></settings><!--設定類型別名:在執行sql語句的時候,如果不設定別名。每次在指定的時候都需要包名+類名,得寫的長 --><typeAliases><!-- type就是完整實體類名, --><tapeAlias type="cn.bdqn.mybatis.entity.User" alias="User"/></typeAliases><!--資料庫連接的屬性,不同的開發階段串連不同的資料庫開發階段——開發環境:串連程式員自己的資料庫測試階段——測試環境:串連測試資料庫上線運行——生產環境:串連正式資料庫裡邊可以寫多個environment--><environments default="dev"><!-- 開發環境 --><environment id="dev"><!-- 通過JDBC管理事務 --><transactionManager type="JDBC"/><!--不使用串連池  --><dataSource type="UNPOOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306:Test"/><property name="username" value="test"/><property name="password" value="123456"/></dataSource></environment></environments><!--sql對應檔的路徑--><mappers><!-- 引入要載入的sql檔案 --><mapper resource="cn/bdqn/mybatis/mapper/User.sql.xml"/></mappers></configuration>

                                                編寫工具類

package cn.bdqn.mybatis.util;import java.io.IOException;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MyBatisUtil {private static SqlSessionFactory sessionFactory;static{try {//獲得用來載入設定檔的輸入資料流  字元流Reader reader=Resources.getResourceAsReader("mybatis.cfg.xml");//構建器,通過它SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();sessionFactory=builder.build(reader);} catch (Exception e) {e.printStackTrace();}}public static SqlSession getSqlSession(){return sessionFactory.openSession(true);}}

 

 

 

                                     對應檔

 

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="cn.bdqn.mybatis.mapper.UserMapper"><insert id="addUser" parameterType="User">INSERT INTO User(userName,password,email) VALUES(#{userName},#{password},#{email})</insert><select id="getUser" resultType="User">SELECT id,userName,password,email FROM User WHERE id=#{id}</select><select id="findUser" resultType="User">SELECT id,userName,password,email FROM User ORDER BY id;</select><update id="updateUser" parameterType="User">UPDATE User SET userName=#{userName},password=#{password},email=#{email} WHERE id=#{id}</update><delete id="delUser" >DELETE FROM User WHERE id=#{id}</delete></mapper>

 

                                   mapper介面

 

 

package cn.bdqn.mybatis.mapper;import java.util.List;import cn.bdqn.mybatis.entity.User;//通過介面裡邊的抽象方法來調用對應的語句//介面對應對應檔----把SQL語句的命名空間設定成介面的完整類名//相當於原來dao層,我只需要定義dao介面,那具體的實作類別現在不用咱自己寫了,只需拿到mapper介面類即可   省了很多事,提高開發效率public interface UserMapper {public int addUser(User user);public User getUser(Integer id);public List<User> findUser();public int updateUser(User user);public void delUser(Integer id);}

 

          測試類別

 

第一種調用sql語句的方法
//儲存一個使用者
int rows=session.insert("User.addUser",user);//根據id擷取一個使用者user=session.selectOne("User.getUser",2);

第二種最常用的調用sql語句的方法:定義一個mapper介面    mapper介面中,傳回值類型,參數,得相對應;方法名與sql語句id相一致
//先告訴session;後session根據mapper的class找到了命名空間

UserMapper mapper=session.getMapper(UserMapper.class);
            int rows=mapper.addUser(user);

 

mybatis的基本配置:實體類、設定檔、對應檔、工具類 、mapper介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.