MyBatis小试牛刀

 

今天刚听说iBATIS改名为MyBatis,实际上就是iBATIS 3.0.1。以前都是用hibernate或者JPA,同时听说iBATIS 3与iBATIS 2 相比,变化挺大的,于是今天花了点时间学习了一下,做了个小例子。

 

准备工作:建立相应的数据库,表,添加一条记录用于测试。

 

第一步当然是建立项目,导入jar包,导入mybatis-3.0.1.jar,和mysql的jdbc驱动。

 

第二步 新建一个类User,包含主键,用户名,密码等属性

 

Java代码 复制代码  收藏代码
  1. package cn.dcr.mybatis.entity;   
  2.   
  3. public class User {   
  4.     private Long id;   
  5.     private String userName;   
  6.     private String password;   
  7.     private int age;   
  8.   
  9.     public Long getId() {   
  10.         return id;   
  11.     }   
  12.   
  13.     public void setId(Long id) {   
  14.         this.id = id;   
  15.     }   
  16.   
  17.     public String getUserName() {   
  18.         return userName;   
  19.     }   
  20.   
  21.     public void setUserName(String userName) {   
  22.         this.userName = userName;   
  23.     }   
  24.   
  25.     public String getPassword() {   
  26.         return password;   
  27.     }   
  28.   
  29.     public void setPassword(String password) {   
  30.         this.password = password;   
  31.     }   
  32.   
  33.     public int getAge() {   
  34.         return age;   
  35.     }   
  36.   
  37.     public void setAge(int age) {   
  38.         this.age = age;   
  39.     }   
  40.   
  41. }  

 第三步,写sql映射的xml文件

 

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>     
  2. <!DOCTYPE mapper     
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"     
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">     
  5.      
  6. <mapper namespace="cn.dcr.mybatis.entity.UserMapper">     
  7.     <select id="selectOne" parameterType="long" resultType="cn.dcr.mybatis.entity.User">     
  8.         select * from user where id = #{id}     
  9.     </select>     
  10. </mapper>  

 

 第四步,写MyBatis配置文件,configuration.xml

 

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.     <environments default="development">    
  7.         <environment id="development">    
  8.             <transactionManager type="JDBC"/>    
  9.             <dataSource type="POOLED">    
  10.                 <property name="driver" value="com.mysql.jdbc.Driver"/>    
  11.                 <property name="url" value="jdbc:mysql://localhost:3306/test"/>    
  12.                 <property name="username" value="root"/>    
  13.                 <property name="password" value="root"/>    
  14.             </dataSource>    
  15.         </environment>    
  16.     </environments>    
  17.     <mappers>    
  18.         <mapper resource="cn/dcr/mybatis/entity/User.xml"/>    
  19.     </mappers>  
  20. </configuration>  

 

第五步,编写Util类,用于初始化SqlSessionFactory

 

Java代码 复制代码  收藏代码
  1. package cn.dcr.mybatis.util;   
  2.   
  3. import java.io.IOException;   
  4. import java.io.Reader;   
  5.   
  6. import org.apache.ibatis.io.Resources;   
  7. import org.apache.ibatis.session.SqlSessionFactory;   
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;   
  9.   
  10. public class Util {   
  11.        
  12.     private static SqlSessionFactory sqlSessionFactory = null;   
  13.        
  14.     static {   
  15.         String resource = "configuration.xml";    
  16.            
  17.         Reader reader = null;   
  18.         try {   
  19.             reader = Resources.getResourceAsReader(resource);   
  20.         } catch (IOException e) {   
  21.             e.printStackTrace();   
  22.         }          
  23.            
  24.         sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);   
  25.     }   
  26.        
  27.     public static SqlSessionFactory getSqlSessionFactory(){   
  28.         return sqlSessionFactory;   
  29.     }   
  30. }  

 

 

第六步,编写Dao类,用于封装增删改查等操作(为简单起见,这个类只有一个根据id查询出对应的User对象的方法)

 

Java代码 复制代码  收藏代码
  1. package cn.dcr.mybatis.dao;   
  2.   
  3. import org.apache.ibatis.session.SqlSession;   
  4.   
  5. import cn.dcr.mybatis.entity.User;   
  6. import cn.dcr.mybatis.util.Util;   
  7.   
  8. public class UserDao {   
  9.     public User query(Long id){   
  10.         SqlSession session = Util.getSqlSessionFactory().openSession();   
  11.         User user = null;   
  12.         try{   
  13.              user = (User)session.selectOne("cn.dcr.mybatis.entity.UserMapper.selectOne", id);   
  14.         }catch(Exception e){   
  15.             e.printStackTrace();   
  16.         }finally{   
  17.             session.close();   
  18.         }   
  19.         return user;   
  20.     }   
  21. }  

 

第七步,编写测试类

 

Java代码 复制代码  收藏代码
  1. package cn.dcr.mybatis.test;   
  2.   
  3. import cn.dcr.mybatis.dao.UserDao;   
  4. import cn.dcr.mybatis.entity.User;   
  5.   
  6. public class UserTest {   
  7.     public static void main(String[] args){   
  8.         UserDao userDao = new UserDao();   
  9.         User user = userDao.query(1L);   
  10.            
  11.         System.out.println(user.getId());   
  12.         System.out.println(user.getUserName());   
  13.         System.out.println(user.getPassword());   
  14.         System.out.println(user.getAge());   
  15.     }   
  16. }  

 

 

运行一下,能够成功查询出对应的记录。

 

先到这,等有功夫在研究一下详细用法。

你可能感兴趣的:(String,ibatis,jdbc,user,Class,encoding)