mybatis 的簡單使用,mybatis簡單使用

來源:互聯網
上載者:User

mybatis 的簡單使用,mybatis簡單使用

需要用到的包:(這裡只是其中一個版本,其他的百度)

mysql-connector-java-5.1.6-bin

mybatis-3.2.2

先看項目目錄:


設定檔mybatisconfig.xml:

<?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><!-- 用XML映射的時候必須配此項!指定mappers裡面的傳回值對應的實體類 --><!-- <typeAliases>         <typeAlias alias="User" type="com.miquan.mybatis.bean.User"/>     </typeAliases> -->    <!-- JDBC配置 --><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/weixinface"/><property name="username" value="root"/><property name="password" value=""/></dataSource></environment></environments><!-- mappers,每個實體類對應著一個xml --><mappers><mapper resource="com/miquan/mybatis/bean/User.xml"/></mappers></configuration>

實體類User.java:

package com.miquan.mybatis.bean;public class User {private int id;private String userName;private String password;public User(int id, String userName, String password) {super();this.id = id;this.userName = userName;this.password = password;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

User.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace對應著介面類 --><mapper namespace="com.miquan.mybatis.inter.IUserOperation"><!-- <select id="selectById" parameterType="int" resultType="User">select * from User where id = #{id}</select> --></mapper>

IUserOperation.java:

package com.miquan.mybatis.inter;import java.util.List;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import com.miquan.mybatis.bean.User;public interface IUserOperation {@Select("select * from User where id = #{id}")public User selectById(int id);@Select("select * from User where userName = #{userName}")public List<User> selectUsers(String userName);@Insert("insert into User values(null, #{userName}, #{password})")public boolean addUser(User user); @Delete("delete from User where id = #{id}")public boolean delUser(int id);@Update("update User "+ "set userName = #{userName}, "+ "password = #{password} "+ "where id = #{id}")public boolean updateUser(User user);}

最後進行測試:Test.java:

package com.miquan.mybatis.test;import java.io.InputStream;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.miquan.mybatis.bean.User;import com.miquan.mybatis.inter.IUserOperation;public class Test {static SqlSession session;public static void main(String[] args) {try {//擷取sessionInputStream is = Resources.getResourceAsStream("mybatisconfig.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);session = sqlSessionFactory.openSession();//XML配置對應用法//User user = session.selectOne("com.miquan.mybatis.bean.UserDB.selectById", 1);//System.out.println(user.toString());//介面調用法//////注意:insert、delete和update方法調用之後必須commit才能真正的改變資料IUserOperation userOperation = session.getMapper(IUserOperation.class);//查//User user = userOperation.selectById(1);//System.out.println(user.toString());//尋找List//List<User> users = userOperation.selectUsers("miquan");//System.out.println(users.size());//增//User user = new User();//user.setUserName("zhiquan");//user.setPassword("999");//userOperation.addUser(user);//session.commit();//刪//userOperation.delUser(7);//session.commit();//改User user = new User(8, "qiantu", "shaxppp");userOperation.updateUser(user);session.commit();} catch (Exception e) {e.printStackTrace();} finally {try {session.close();} catch (Exception e) {e.printStackTrace();}        }}}

簡單的增刪查改可以實現了。


myBatis的優缺點?

  1.優點
  簡單:
  易於學習,便於使用,通過文檔和原始碼,可以比較完全的掌握它的設計思路和實現。
  實用:
  提供了資料對應功能,提供了對底層資料訪問的封裝(例如ado.net),提供了DAO架構,可以使我們更容易的開發和配置我們的DAL層。
  靈活:
  通過sql基本上可以實現我們不使用資料訪問架構可以實現的所有功能,或許更多。
  功能完整:
  提供了串連管理,緩衝支援,線程支援,(分布式)事物管理,通過配置作關聯性物件映射等資料訪問層需要解決的問題。提供了DAO支援,並在DAO架構中封裝了ADO.NET,NHibernate和DataMapper。
  增強系統的可維護性:
  通過提供DAL層,將商務邏輯和資料訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提高了可維護性。
  2.缺點
  滯後性:
  還沒有明確對.NET2.0的支援。最新版本在2.0下編譯可以,但有些單元測試不能通過。
  不成熟,工程實踐較少:
  IbatisNet在實際項目中的使用較少。 只是理論上可行.
  半ORM,工具支援較少:
  需要我們自己寫sql,並且.NET下還未發現可以自動產生業務層類和設定檔的工具,這點和NHibernate不一樣,NHibernate會為我們的資料庫直接產生sql,並有一些協助工具輔助。因此使用Ibatis比NHibernate要多做一些工作。
 
有關spring mvc + mybatis的簡單增刪改查,急,

取值跟jsp一樣吧,顯示用request.setAttribute
 

聯繫我們

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