博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis使用篇之二:HelloWorld
阅读量:6443 次
发布时间:2019-06-23

本文共 7734 字,大约阅读时间需要 25 分钟。

1. 搭建开发环境

(1)新建一个Web工程,名称为MybatisFramework。

 

(2)将以下的JAR放到Web工程的lib下面:

Java代码  
  1. mybatis-3.0.6.jar   
  2. og4j-1.2.16.jar   
  3. classes12.jar  
mybatis-3.0.6.jarog4j-1.2.16.jarclasses12.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  
log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%nlog4j.logger.com.ibatis=debuglog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debuglog4j.logger.com.ibatis.common.jdbc.ScriptRunner=debuglog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debuglog4j.logger.java.sql.Connection=debuglog4j.logger.java.sql.Statement=debuglog4j.logger.java.sql.PreparedStatement=debug,stdout

 

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

Java代码  
  1. <?xml version="1.0" encoding="UTF-8" ?>   
  2.   
  3. <!DOCTYPE configuration PUBLIC    
  4.     "-//mybatis.org//DTD Config 3.0//EN"  
  5.     "http://mybatis.org/dtd/mybatis-3-config.dtd">   
  6.   
  7. <configuration>   
  8.        
  9.     <environments default="development">   
  10.         <environment id="development">   
  11.             <transactionManager type="JDBC" />   
  12.             <dataSource type="POOLED">   
  13.               <property name="driver" value="oracle.jdbc.OracleDriver" />   
  14.               <property name="url" value="jdbc:oracle:thin:@localhost:1521:SID" />   
  15.               <property name="username" value="xxxx" />   
  16.               <property name="password" value="xxxx" />   
  17.             </dataSource>   
  18.         </environment>   
  19.     </environments>   
  20.       
  21.     </configuration>  

 

 

2. 入门示例

 

 

(1)在Oracle数据库执行以下SQL,创建一个USER_INFO的表:

 

Java代码  
  1. -- Create table   
  2. create table USER_INFO   
  3. (   
  4.   ID          NUMBER(12) not null,   
  5.   NAME        VARCHAR2(50)   
  6. );   
  7.   
  8. --Insert data   
  9. insert into USER_INFO(ID,NAME) values(1,'张三');  
-- Create tablecreate table USER_INFO(  ID          NUMBER(12) not null,  NAME        VARCHAR2(50));--Insert datainsert into USER_INFO(ID,NAME) values(1,'张三');

 

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

 

Java代码  
  1. package com.user;   
  2.   
  3. public class UserInfo {   
  4.     private int id;   
  5.     private String name;   
  6.   
  7.     public UserInfo() {   
  8.     }   
  9.   
  10.     public UserInfo(String name) {   
  11.         this(0, name);   
  12.     }   
  13.   
  14.     public UserInfo(int id, String name) {   
  15.         this.id = id;   
  16.         this.name = name;   
  17.     }   
  18.   
  19.     public int getId() {   
  20.         return id;   
  21.     }   
  22.   
  23.     public void setId(int id) {   
  24.         this.id = id;   
  25.     }   
  26.   
  27.     public String getName() {   
  28.         return name;   
  29.     }   
  30.   
  31.     public void setName(String name) {   
  32.         this.name = name;   
  33.     }   
  34.   
  35.     @Override  
  36.     public String toString() {   
  37.         return "ID: " + id + ", Name: " + name;   
  38.     }   
  39. }  
package com.user;public class UserInfo {	private int id;	private String name;	public UserInfo() {	}	public UserInfo(String name) {		this(0, name);	}	public UserInfo(int id, String name) {		this.id = id;		this.name = name;	}	public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	@Override	public String toString() {		return "ID: " + id + ", Name: " + name;	}}

 

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

 

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

 

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

Java代码  
  1. <?xml version="1.0" encoding="UTF-8" ?>   
  2.   
  3. <!DOCTYPE configuration PUBLIC    
  4.     "-//mybatis.org//DTD Config 3.0//EN"  
  5.     "http://mybatis.org/dtd/mybatis-3-config.dtd">   
  6.   
  7. <configuration>   
  8.     <typeAliases>   
  9.         <typeAlias alias="UserInfo" type="com.user.UserInfo" />   
  10.     </typeAliases>   
  11.        
  12.     <environments default="development">   
  13.         <environment id="development">   
  14.             <transactionManager type="JDBC" />   
  15.             <dataSource type="POOLED">   
  16.               <property name="driver" value="oracle.jdbc.OracleDriver" />   
  17.               <property name="url" value="jdbc:oracle:thin:@localhost:1521:ORACLEDB" />   
  18.               <property name="username" value="oracle" />   
  19.               <property name="password" value="oracle" />   
  20.             </dataSource>   
  21.         </environment>   
  22.     </environments>   
  23.       
  24.     <mappers>   
  25.         <mapper resource="com/user/sqlmap/UserInfo.xml" />   
  26.     </mappers>   
  27. </configuration>  

 

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

Java代码  
  1. package com.user;   
  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.SqlSession;   
  8. import org.apache.ibatis.session.SqlSessionFactory;   
  9. import org.apache.ibatis.session.SqlSessionFactoryBuilder;   
  10.   
  11.   
  12.   
  13. public class UserInfoTest {   
  14.   
  15.     /**  
  16.      * @param args  
  17.      * @throws IOException   
  18.      */  
  19.     public static void main(String[] args) throws IOException {   
  20.         String resource = "mybatis.cfg.xml";   
  21.         Reader reader = Resources.getResourceAsReader(resource);   
  22.         SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);   
  23.            
  24.         SqlSession session = ssf.openSession();   
  25.            
  26.         try {   
  27.             UserInfo user = (UserInfo) session.selectOne("User.selectUser""1");   
  28.             System.out.println(user);   
  29.         } catch (Exception e) {   
  30.             e.printStackTrace();   
  31.         } finally {   
  32.             session.close();   
  33.         }   
  34.     }   
  35.   
  36. }  
package com.user;import java.io.IOException;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class UserInfoTest {	/**	 * @param args	 * @throws IOException 	 */	public static void main(String[] args) throws IOException {		String resource = "mybatis.cfg.xml";        Reader reader = Resources.getResourceAsReader(resource);        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);                SqlSession session = ssf.openSession();                try {        	UserInfo user = (UserInfo) session.selectOne("User.selectUser", "1");            System.out.println(user);        } catch (Exception e) {            e.printStackTrace();        } finally {            session.close();        }	}}

 

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

 

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

 

 转自:

转载于:https://www.cnblogs.com/youngdream-ppj/archive/2013/02/22/2922952.html

你可能感兴趣的文章
Linux安装相关
查看>>
WIN7 下 在cmd 命令中 进入某个目录 的方法
查看>>
查看被锁的表和解锁
查看>>
canvas自适应圆形时钟绘制
查看>>
币值转换编程总结
查看>>
javascript中关于value的一个小知识点(value既是属性也是变量)
查看>>
cookie创建,使用 . session与Cookie区别
查看>>
截取字符串 substring substr slice
查看>>
day1
查看>>
BFS 2015百度之星初赛2 HDOJ 5254 棋盘占领
查看>>
LeetCode 3
查看>>
活灵活现用 Git --基础篇
查看>>
c++ 函数声明
查看>>
linux下,免密码登录
查看>>
街道管理
查看>>
hdu 3501 Calculation 2 (欧拉函数)
查看>>
csv2mysql
查看>>
可以免费下载视频素材和模板网站汇总
查看>>
生成包含数字和大小写字母的随机码
查看>>
前辈回顾15年程序员生涯,总结的7点经验
查看>>