MyBitis(iBitis)系列随笔之一:MyBitis入门实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBitis(iBitis)系列随笔之一:MyBitis入门实例相关的知识,希望对你有一定的参考价值。

 

 
 

 

MyBits前身是iBitis,相对于Hibernate而言,它是半自动化ORM框架。本着分享和学习的目的,笔者将陆续把学习笔记与代码贴出,希望对想学习mybitis的同窗们有所帮助。
       鉴于我的测试数据库是mysql,同仁们现在把mysql装好,然后准备好mysql驱动以及从官网上下载mybitis(http://code.google.com/p/mybatis/)。我下载的是最新的mybatis-3.2.2.zip。

   

      创建数据库test

       然后创建表t_user

[sql] view plain copy
 
  1. DROP TABLE IF EXISTS `t_user`;  
  2. CREATE TABLE `t_user` (  
  3.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  4.   `name` varchar(20) DEFAULT NULL,  
  5.   `pass` varchar(20) DEFAULT NULL,  
  6.   PRIMARY KEY (`id`)  
  7. ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=gbk;  
  8.   
  9. INSERT INTO `t_user` VALUES (‘1‘, ‘ssssssssssssssss‘, ‘ddsssssssdd‘);  


     然后创建与表对应的Java bean对象

 

[java] view plain copy
 
  1. <span style="color:#000000;">package com.jefry;  
  2.   
  3. public class User {  
  4.     private int id;  
  5.     private String name;  
  6.     private String pass;  
  7.       
  8.       
  9.   
  10.     public String getPass() {  
  11.         return pass;  
  12.     }  
  13.   
  14.     public void setPass(String pass) {  
  15.         this.pass = pass;  
  16.     }  
  17.   
  18.     public int getId() {  
  19.         return id;  
  20.     }  
  21.   
  22.     public void setId(int id) {  
  23.         this.id = id;  
  24.     }  
  25.   
  26.     public String getName() {  
  27.         return name;  
  28.     }  
  29.   
  30.     public void setName(String name) {  
  31.         this.name = name;  
  32.     }  
  33.   
  34. }</span>  


       接下来,在classpath目录下面创建与配置mybatis-config.xml文件

       内容如下:

[html] view plain copy
 
  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://127.0.0.1:3306/test"/>  
  12.                 <property name="username" value="root"/>  
  13.                 <property name="password" value="root"/>  
  14.             </dataSource>  
  15.         </environment>  
  16.     </environments>  
  17.     <mappers>  
  18.      <!--这个文件下面将创建-->  
  19.      <mapper resource="com/jefry/UserMapper.xml"/>  
  20.     </mappers>  
  21. </configuration>  


        通过mybatis-config.xml中<mapper resource="com/jefry/UserMapper.xml"/>配置项,我们在包com.jefry下面创建文件UserMapper.xml
         内容如下:

[html] view plain copy
 
  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. <mapper namespace="User">  
  6.     <!--resultType 表示com.jefry.User这样一个实体对象 -->  
  7.     <select id="selectUser" parameterType="int" resultType="com.jefry.User">  
  8.         select * from t_user where id = #{id}  
  9.     </select>  
  10. </mapper>  


     编写测试代码

[java] view plain copy
 
  1. package com.jefry;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.InputStream;  
  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. public class Test {  
  12.     static String resource = "mybatis-config.xml";  
  13.   
  14.     public static void main(String[] args) throws IOException {  
  15.         // TODO Auto-generated method stub  
  16.         InputStream inputStream = Resources.getResourceAsStream(resource);  
  17.         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);  
  18.         SqlSession session = sqlSessionFactory.openSession();  
  19.         try {  
  20.             //User.selectUser中User对应UserMapper.xml文件中标签<mapper namespace="User"> namespace的值  
  21.             //selectUser 对应UserMapper.xml文件中标签<select id="selectUser" parameterType="int" resultType="com.jefry.User">中id值  
  22.             User user = session.selectOne("User.selectUser", 1);  
  23.             System.out.println("user.getName()=" +  user.getName());  
  24.         } finally {  
  25.             session.close();  
  26.         }  
  27.     }  
  28.   
  29. }  


通过运行就可以结果:user.getName()=ssssssssssssssss

以上是关于MyBitis(iBitis)系列随笔之一:MyBitis入门实例的主要内容,如果未能解决你的问题,请参考以下文章

MyBitis(iBitis)系列随笔之六:mybitis与spring集成

(转)logback 打印Mybitis中的sql执行过程

(转)logback 打印Mybitis中的sql执行过程

米尔STM32MP157系列开发板外设资源分享

idea调试查看mybitis发送的语句(引用)

Mybitis根据工具类反射数据库生成映射+整合springboot