• 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

  • 相关阅读:
    mac下如何全量删除短信内容
    git log --oneline --graph的读法
    nginx bind() to 0.0.0.0:**** failed (13: Permission denied)
    nginx安装和配置
    pycharm的插件pylint报错:java.lang.Throwable: Write-unsafe context! Model changes are allowed from write-safe contexts only. Please ensure you're using invokeLater/invokeAndWait with a correct modality stat
    python编码规范、js编码规范及IDE的检查插件pylint/eslint等
    Flask 在 Debug 模式下初始化2次
    python的globals()使用
    删除整张表数据但是空间没有减少
    DBCC DBREINDEX重建索引提高SQL Server性能
  • 原文地址:https://www.cnblogs.com/shijiaoyun/p/5157523.html
Copyright © 2020-2023  润新知