• [转]mybatis 的简单使用


     

    需要用到的包:(这里只是其中一个版本,其他的百度)

    mysql-connector-java-5.1.6-bin

    mybatis-3.2.2

    先看项目目录:


    配置文件mybatisconfig.xml:

    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE configuration  
    3.     PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
    4.     "http://mybatis.org/dtd/mybatis-3-config.dtd">  
    5. <configuration>  
    6.     <!-- 用XML映射的时候必须配此项!指定mappers里面的返回值对应的实体类 -->  
    7.     <!-- <typeAliases>   
    8.         <typeAlias alias="User" type="com.miquan.mybatis.bean.User"/>   
    9.     </typeAliases> -->  
    10.     <!-- JDBC配置 -->  
    11.     <environments default="development">  
    12.         <environment id="development">  
    13.             <transactionManager type="JDBC"/>  
    14.             <dataSource type="POOLED">  <!--POOLED指的是:已经缓存的,即使用缓存-->
    15.                 <property name="driver" value="com.mysql.jdbc.Driver"/>  
    16.                 <property name="url" value="jdbc:mysql://localhost:3306/weixinface"/>  
    17.                 <property name="username" value="root"/>  
    18.                 <property name="password" value=""/>  
    19.             </dataSource>  
    20.         </environment>  
    21.     </environments>  
    22.     <!-- mappers,每个实体类对应着一个xml -->  
    23.     <mappers>  
    24.         <mapper resource="com/miquan/mybatis/bean/User.xml"/>  
    25.     </mappers>  
    26. </configuration>  


    实体类User.java:

    1. package com.miquan.mybatis.bean;  
    2.   
    3. public class User {  
    4.     private int id;  
    5.     private String userName;  
    6.     private String password;  
    7.       
    8.     public User(int id, String userName, String password) {  
    9.         super();  
    10.         this.id = id;  
    11.         this.userName = userName;  
    12.         this.password = password;  
    13.     }  
    14.     public int getId() {  
    15.         return id;  
    16.     }  
    17.     public void setId(int id) {  
    18.         this.id = id;  
    19.     }  
    20.     public String getUserName() {  
    21.         return userName;  
    22.     }  
    23.     public void setUserName(String userName) {  
    24.         this.userName = userName;  
    25.     }  
    26.     public String getPassword() {  
    27.         return password;  
    28.     }  
    29.     public void setPassword(String password) {  
    30.         this.password = password;  
    31.     }  
    32. }  


    User.xml:

    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE mapper  
    3.     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
    4.     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
    5. <!-- namespace对应着接口类 -->  
    6. <mapper namespace="com.miquan.mybatis.inter.IUserOperation">  
    7.     <!-- <select id="selectById" parameterType="int" resultType="User">  
    8.         select * from User where id = #{id}  
    9.     </select> -->  
    10. </mapper>  


    IUserOperation.java:

    1. package com.miquan.mybatis.inter;  
    2.   
    3. import java.util.List;  
    4.   
    5. import org.apache.ibatis.annotations.Delete;  
    6. import org.apache.ibatis.annotations.Insert;  
    7. import org.apache.ibatis.annotations.Select;  
    8. import org.apache.ibatis.annotations.Update;  
    9.   
    10. import com.miquan.mybatis.bean.User;  
    11.   
    12. public interface IUserOperation {  
    13.     @Select("select * from User where id = #{id}")  
    14.     public User selectById(int id);  
    15.       
    16.     @Select("select * from User where userName = #{userName}")  
    17.     public List<User> selectUsers(String userName);  
    18.       
    19.     @Insert("insert into User values(null, #{userName}, #{password})")  
    20.     public boolean addUser(User user);   
    21.       
    22.     @Delete("delete from User where id = #{id}")  
    23.     public boolean delUser(int id);  
    24.       
    25.     @Update("update User "  
    26.             + "set userName = #{userName}, "  
    27.                 + "password = #{password} "  
    28.             + "where id = #{id}")  
    29.     public boolean updateUser(User user);  
    30. }  
    1.   

    注意:此处接口不支持多态。

    (不知道为什么,用着就是不可以。。。方法名不能一样)


    最后进行测试:Test.java:

    1. package com.miquan.mybatis.test;  
    2.   
    3. import java.io.InputStream;  
    4. import java.util.List;  
    5.   
    6. import org.apache.ibatis.io.Resources;  
    7. import org.apache.ibatis.session.SqlSession;  
    8. import org.apache.ibatis.session.SqlSessionFactory;  
    9. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
    10.   
    11. import com.miquan.mybatis.bean.User;  
    12. import com.miquan.mybatis.inter.IUserOperation;  
    13.   
    14. public class Test {  
    15.     static SqlSession session;  
    16.       
    17.     public static void main(String[] args) {  
    18.         try {  
    19.             //获取session  
    20.             InputStream is = Resources.getResourceAsStream("mybatisconfig.xml");  
    21.             SqlSessionFactory sqlSessionFactory =   
    22.                     new SqlSessionFactoryBuilder().build(is);  
    23.             session = sqlSessionFactory.openSession();  
    24.               
    25.             //XML配置对应用法  
    26. //          User user = session.selectOne("com.miquan.mybatis.bean.UserDB.selectById", 1);  
    27. //          System.out.println(user.toString());  
    28.               
    29.             //接口调用法  
    30.             //////注意:insert、delete和update方法调用之后必须commit才能真正的改变数据  
    31.             IUserOperation userOperation = session.getMapper(IUserOperation.class);  
    32.               
    33.             //查  
    34. //          User user = userOperation.selectById(1);  
    35. //          System.out.println(user.toString());  
    36.               
    37.             //查找List  
    38. //          List<User> users = userOperation.selectUsers("miquan");  
    39. //          System.out.println(users.size());  
    40.               
    41.             //增  
    42. //          User user = new User();  
    43. //          user.setUserName("zhiquan");  
    44. //          user.setPassword("999");  
    45. //          userOperation.addUser(user);  
    46. //          session.commit();  
    47.               
    48.             //删  
    49. //          userOperation.delUser(7);  
    50. //          session.commit();  
    51.               
    52.             //改  
    53.             User user = new User(8, "qiantu", "shaxppp");  
    54.             userOperation.updateUser(user);  
    55.             session.commit();  
    56.         } catch (Exception e) {  
    57.             e.printStackTrace();  
    58.         } finally {  
    59.             try {  
    60.                 session.close();  
    61.             } catch (Exception e) {  
    62.                 e.printStackTrace();  
    63.             }  
    64.         }  
    65.     }  
    66. }  


    简单的增删查改可以实现了。

  • 相关阅读:
    【2019-08-03】自卑和悲观是有区别的
    你现在不用写代码了吧?
    【2019-08-02】信任是一种能力
    【2019-08-01】给孩子一个渴望长大的榜样
    【一句日历】2019年8月
    【2019-07-31】一切皆有寓意
    【2019-07-30】原来努力会上瘾
    【2019-07-29】睡多了,会被宰的
    【2019-07-28】活到老,学到老
    【2019-07-27】习惯的力量很强大
  • 原文地址:https://www.cnblogs.com/ZhuRenWang/p/4782711.html
Copyright © 2020-2023  润新知