Mybaits技术(一) Mybatis入门示例

1. 搭建开发环境(1)新建一个Web工程,名称为MybatisFramework。 (2)将以下的JAR放到Web工程的lib下面:

java代码:
  1. mybatis-3.0.6.jar  
  2. og4j-1.2.16.jar  
  3. classes12.jar  
 (3)在src下面新建log4j.properties文件,该文件的内容如下:

java代码:
  1. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  2. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  3. log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n  
  4. log4j.logger.com.ibatis=debug  
  5. log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug  
  6. log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug  
  7. log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug  
  8. log4j.logger.java.sql.Connection=debug  
  9. log4j.logger.java.sql.Statement=debug  
  10. log4j.logger.java.sql.PreparedStatement=debug,stdout  



 (4)在src下面新建mybatis.cfg.xml文件,该文件的内容如下:
Java代码   

java代码:
  1. <?xml version="1.0" encoding="UTF-8" ?>     
  2.   
  3.      
  4.   
  5. <!DOCTYPE configuration PUBLIC      
  6.   
  7.     "-//mybatis.org//DTD Config 3.0//EN"     
  8.   
  9.     "http://mybatis.org/dtd/mybatis-3-config.dtd">     
  10.   
  11.      
  12.   
  13. <configuration>     
  14.   
  15.          
  16.   
  17.     <environments default="development">     
  18.   
  19.         <environment id="development">     
  20.   
  21.             <transactionManager type="JDBC" />     
  22.   
  23.             <dataSource type="POOLED">     
  24.   
  25.               <property name="driver" value="oracle.jdbc.OracleDriver" />     
  26.   
  27.               <property name="url" value="jdbc:oracle:thin:@localhost:1521:SID" />    
  28.   
  29.               <property name="username" value="xxxx" />     
  30.   
  31.               <property name="password" value="xxxx" />     
  32.   
  33.             </dataSource>     
  34.   
  35.         </environment>     
  36.   
  37.     </environments>     
  38.   
  39.         
  40.   
  41.     </configuration>    


 
  2. 入门示例  (1)在Oracle数据库执行以下SQL,创建一个USER_INFO的表: 
Java代码   

java代码:
  1. -- Create table     
  2.   
  3. create table USER_INFO     
  4.   
  5. (     
  6.   
  7.   ID          NUMBER(12) not null,     
  8.   
  9.   NAME        VARCHAR2(50)     
  10.   
  11. );     
  12.   
  13.      
  14.   
  15. --Insert data     
  16.   
  17. insert into USER_INFO(ID,NAME) values(1,'张三');    


 
  (2)新建一个Java类UserInfo.java,该类的内容如下: 

java代码:
  1. Java代码       
  2. package com.user;     
  3.   
  4.      
  5.   
  6. public class UserInfo {     
  7.   
  8.     private int id;     
  9.   
  10.     private String name;     
  11.   
  12.      
  13.   
  14.     public UserInfo() {     
  15.   
  16.     }     
  17.   
  18.      
  19.   
  20.     public UserInfo(String name) {     
  21.   
  22.         this(0, name);     
  23.   
  24.     }     
  25.   
  26.      
  27.   
  28.     public UserInfo(int id, String name) {     
  29.   
  30.         this.id = id;     
  31.   
  32.         this.name = name;     
  33.   
  34.     }     
  35.   
  36.      
  37.   
  38.     public int getId() {     
  39.   
  40.         return id;     
  41.   
  42.     }     
  43.   
  44.      
  45.   
  46.     public void setId(int id) {     
  47.   
  48.         this.id = id;     
  49.   
  50.     }     
  51.   
  52.      
  53.   
  54.     public String getName() {     
  55.   
  56.         return name;     
  57.   
  58.     }     
  59.   
  60.      
  61.   
  62.     public void setName(String name) {     
  63.   
  64.         this.name = name;     
  65.   
  66.     }     
  67.   
  68.      
  69.   
  70.     @Override     
  71.   
  72.     public String toString() {     
  73.   
  74.         return "ID: " + id + ", Name: " + name;     
  75.   
  76.     }     
  77.   
  78. }     



 (3)在com.user.sqlmap下面新建UserInfo.xml文件,该文件的内容如下: 
Java代码   

java代码:
  1. <?xml version="1.0" encoding="UTF-8" ?>     
  2.   
  3.      
  4.   
  5. <!DOCTYPE mapper PUBLIC      
  6.   
  7.     "-//mybatis.org//DTD Mapper 3.0//EN"     
  8.   
  9.     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">     
  10.   
  11.      
  12.   
  13. <mapper namespace="User">     
  14.   
  15.     <select id="selectUser" parameterType="int" resultType="UserInfo">     
  16.   
  17.     <![CDATA[     
  18.   
  19.         select * from user_info where id = #{id}     
  20.   
  21.     ]]>     
  22.   
  23.     < lect>     
  24.   
  25. </mapper>     



 (4)将UserInfo.xml引用到mybatis.cfg.xml文件中,mybatis.cfg.xml文件更新后的内容如下:

java代码:
  1. Java代码       
  2. <?xml version="1.0" encoding="UTF-8" ?>     
  3.   
  4.      
  5.   
  6. <!DOCTYPE configuration PUBLIC      
  7.   
  8.     "-//mybatis.org//DTD Config 3.0//EN"     
  9.   
  10.     "http://mybatis.org/dtd/mybatis-3-config.dtd">     
  11.   
  12.      
  13.   
  14. <configuration>     
  15.   
  16.     <typeAliases>     
  17.   
  18.         <typeAlias alias="UserInfo" type="com.user.UserInfo" />     
  19.   
  20.     < peAliases>     
  21.   
  22.          
  23.   
  24.     <environments default="development">     
  25.   
  26.         <environment id="development">     
  27.   
  28.             <transactionManager type="JDBC" />     
  29.   
  30.             <dataSource type="POOLED">     
  31.   
  32.               <property name="driver" value="oracle.jdbc.OracleDriver" />     
  33.   
  34.               <property name="url" value="jdbc:oracle:thin:@localhost:1521:ORACLEDB" />    
  35.   
  36.               <property name="username" value="oracle" />     
  37.   
  38.               <property name="password" value="oracle" />     
  39.   
  40.             </dataSource>     
  41.   
  42.         </environment>     
  43.   
  44.     </environments>     
  45.   
  46.         
  47.   
  48.     <mappers>     
  49.   
  50.         <mapper resource="com/user/sqlmap/UserInfo.xml" />     
  51.   
  52.     </mappers>     
  53.   
  54. </configuration>     



 (5)新建一个测试Java类UserInfoTest.java,该类的具体内容如下:
Java代码   

java代码:
  1. package com.user;     
  2.   
  3.      
  4.   
  5. import java.io.IOException;     
  6.   
  7. import java.io.Reader;     
  8.   
  9.      
  10.   
  11. import org.apache.ibatis.io.Resources;     
  12.   
  13. import org.apache.ibatis.session.SqlSession;     
  14.   
  15. import org.apache.ibatis.session.SqlSessionFactory;     
  16.   
  17. import org.apache.ibatis.session.SqlSessionFactoryBuilder;     
  18.   
  19.      
  20.   
  21.      
  22.   
  23.      
  24.   
  25. public class UserInfoTest {     
  26.   
  27.      
  28.   
  29.     /**   
  30.  
  31.      * @param args   
  32.  
  33.      * @throws IOException    
  34.  
  35.      */     
  36.   
  37.     public static void main(String[] args) throws IOException {     
  38.   
  39.         String resource = "mybatis.cfg.xml";     
  40.   
  41.         Reader reader = Resources.getResourceAsReader(resource);     
  42.   
  43.         SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);    
  44.   
  45.              
  46.   
  47.         SqlSession session = ssf.openSession();     
  48.   
  49.              
  50.   
  51.         try {     
  52.   
  53.             UserInfo user = (UserInfo) session.selectOne("User.selectUser""1");    
  54.   
  55.             System.out.println(user);     
  56.   
  57.         } catch (Exception e) {     
  58.   
  59.             e.printStackTrace();     
  60.   
  61.         } finally {     
  62.   
  63.             session.close();     
  64.   
  65.         }     
  66.   
  67.     }     
  68.   
  69.      
  70.   
  71. }     



 (6)右键UserInfoTest 类,选择Run As Application,运行MyBaits操作数据库。 

java代码:

    1. Java代码       
    2. log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).    
    3.   
    4. log4j:WARN Please initialize the log4j system properly.     
    5.   
    6. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.    
    7.   
    8. 2012-02-11 21:44:01,750 DEBUG [java.sql.PreparedStatement] -==>  Executing: select * from user_info where id = ?      
    9.   
    10. 2012-02-11 21:44:01,781 DEBUG [java.sql.PreparedStatement] -==> Parameters: 1(String)     
    11.   
    12. ID: 1, Name: 张三   

posted on 2012-06-26 09:44  ycty  阅读(558)  评论(0编辑  收藏  举报