Mybatis练习(1)

   由于之前项目用到的都是Hibernate,现在突然改用MyBatis,所以要重新研究一下,还好基本原理是差不离。在Hibernate的基础上再去学MyBatis,个人觉得起到了事半功倍的作用。

  MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

 好,创建JavaWeb项目这些太基础咱们就不去说了,添加相应的Jar包,一个是mybatis的jar包mybatis-3.2.8.jar,一个是数据库驱动的,我用的是mysql所以是mysql-connector-java-3.0.14-production-bin.jar。

   添加Mybatis的配置文件conf.xml

 在src目录下创建一个conf.xml文件,如下图所示:

conf.xml文件中的内容如下:



 


     
         
             
             
             
                 
                 
                 
                 
             

         

     

 

 定义表对应的实体类

 

public class User {


private int id;
private String name;
private String password;
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 String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}


}

定义操作user表的sql映射文件user.xml,我直接放在实体类对应的包下


user.xml文件的内容如下:





   
   
     







insert into user (name,password) values (#{name},#{password})

   
     

在conf.xml文件中注册user.xml文件



 


     
         
             
             
             
                 
                 
                 
                 
             

         

     

     
     
     
     

 

编写测试代码:执行定义的语句

public class Test {


public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String resource = "conf.xml";
// 使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
// InputStream is =
// Test.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 = "com.ucs.test.model.User.getUser";// 映射sql的标识字符串
// com.ucs.test.model.user
// 执行查询返回一个唯一user对象的sql
User user = session.selectOne(statement, 1);
session.close();
System.out.println("name:"+user.getName());
}


}


最后有问题可以联系qq:1774900724

  

你可能感兴趣的:(MyBatis)