码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis简单实例

时间:2016-07-08 16:36:36      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

---直接贴代码

(1)User.Java

 

package me.gacl.domain;    

/**  

* @author gacl  

* users表所对应的实体类  

*/  

public class User {      

//实体类的属性和表的字段名称一一对应     

private int id;     

private String name;     

private int age;       

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;     

}       

public int getAge() {

         return age;     

}       

public void setAge(int age) {  

        this.age = age;     

}       

@Override     

public String toString() {         

return "User [id=" + id + ", name=" + name + ", age=" + age + "]";    

  }  }

(2)UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
 例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
  -->
 <mapper namespace="me.gacl.mapping.userMapper">
     <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
     使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
     resultType="me.gacl.domain.User"就表示将查询结果封装成一个User类的对象返回
     User类就是users表所对应的实体类
     -->
     <!--
         根据id查询得到一个user对象
      -->
     <select id="getUser" parameterType="int"
         resultType="me.gacl.domain.User">
         select * from t_user where id=#{id}
     </select>
 </mapper>

 (3)conf.xml

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 <configuration>
     <environments default="development">
         <environment id="development">
             <transactionManager type="JDBC" />
             <!-- 配置数据库连接信息 -->
             <dataSource type="POOLED">
                 <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                 <property name="url" value="jdbc:oracle:thin:@132.224.24.118:1521:jsfx" />
                 <property name="username" value="sett_analyse" />
                 <property name="password" value="g4el_yj_ha" />
             </dataSource>
         </environment>
     </environments>
     <mappers>
        <!-- 注册userMapper.xml文件,
        userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->
                 <mapper resource="me/gacl/mapping/userMapper.xml"/>
                      </mappers>
    
 </configuration>

(4)Test1.java

 

package me.gacl.test;

 

import java.io.IOException; import java.io.InputStream; import java.io.Reader; import me.gacl.domain.User; 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 Test1 {

 

    public static void main(String[] args) throws IOException {        

//mybatis的配置文件        

String resource = "conf.xml";        

//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)        

InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);        

//构建sqlSession的工厂        

SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);        

//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)        

//Reader reader = Resources.getResourceAsReader(resource);        

//构建sqlSession的工厂        

//SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);        

//创建能执行映射文件中sql的sqlSession        

SqlSession session = sessionFactory.openSession();        

/**          * 映射sql的标识字符串,         

* me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,         

* getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL         

*/        

String statement = "me.gacl.mapping.userMapper.getUser";//映射sql的标识字符串        

//执行查询返回一个唯一user对象的sql        

User user = session.selectOne(statement, 1);                

System.out.println(user);    

} }

 

MyBatis简单实例

标签:

原文地址:http://www.cnblogs.com/muliu/p/5653827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!