Mybatis 完全使用註解版執行個體

來源:互聯網
上載者:User

1 所謂的註解版,個人理解為 XXXMapper.xml檔案省略掉,把需要的各種sql語句寫入到了 XXXMapper介面中

如何讓 主設定檔找到 介面呢,只需把 下面

<mapper resource="com/model/UserMapper.xml" />

改為

<mapper class="com.model.UserMapper" />

即可,看屬性也知道,把資源檔改為了類檔案的含義

2 下面是完整主設定檔
   

<?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><!-- 這裡是指定一個資料庫連接的設定檔 意思是 需要一個設定檔讓使用者指定好資料庫的各種資訊 這裡做好檔案的映射 注意檔案必須和改設定檔同名 --><properties resource="db.properties"></properties> <typeAliases><!-- 為實體指定別名 如果不想取別名後面就必須使用全名 這裡就是給類名做一個映射而已 --><typeAlias alias="user" type="com.model.User" /></typeAliases> <environments default="development"><!-- 配置多個資料庫連接環境這裡和 db.properties對應 --><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /></dataSource></environment></environments><!--mappers其實就是JAVABEAN對應發XML檔案的映射 --><mappers><!-- <mapper resource="com/model/UserMapper.xml" /> --><mapper class="com.model.UserMapper" /></mappers> </configuration>
3 下面是要更改的 Mapper介面

package com.model;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;public interface UserMapper {@Select("select * from wj_user where id=#{id}")User getUser(int id);@Update("insert into wj_user (name,sex) value( #{name},#{sex})")void insertUser(User user);}
3 下面是測試類別 (執行了兩個方法 查詢和插入)
package com.model;import java.io.IOException;import java.io.InputStream;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 BatisTest {public static void main(String[] args) {InputStream input;try {input = Resources.getResourceAsStream("mybiatis-config.xml");SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(input);// SqlSessionFactoryBuilder 是用過即丟,其生命週期只存在於方法體內SqlSession mySession=  sqlSessionFactory.openSession();UserMapper userMapper = mySession.getMapper(UserMapper.class);User user = userMapper.getUser(1);//User user=  mySession.selectOne("selectOne",1);//這裡讀取出來之後 會自動和你javabean的屬性進行映射起來System.out.println(user.getName());User userI = new User();userI.setName("doc");userI.setSex("hello");userMapper.insertUser(userI);mySession.commit();mySession.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

4 查看執行結果 已經插入了新資料






聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.