<xml version="1.0" encoding="UTF-8" ><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ""><configuration><environments default="dev"><environment id="dev"><transactionManager type="JDBC"$amp>amp$lt/transactionManager><dataSource type="POOLED"><property name="driver" value="oracle.jdbc.driver.OracleDriver" /><property name="url" value="jdbc:oracle:thin:@192.168.1.20:1521:oa" /><property name="username" value="zhangsan" /><property name="password" value="123" /></dataSource></environment></environments><mappers><mapper resource="com/cissst/oa/data/UserMapper.xml" /><mapper resource="com/cissst/oa/data/DepartmentMapper.xml" /></mappers></configuration>
2,使用myBatis提供的工具类中的方法,从类路径或Configuration.xml文档所在位置加载资源文件。
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder()
SqlSessionFactory factory = null
// 获取SqlSessionFactory对象
try {
Reader reader = Resources
.getResourceAsReader("com/cissst/oa/data/Configuration.xml")
factory = builder.build(reader)
} catch (Exception e) {
e.printStackTrace()
}
3,使用工厂对象获取SqlSession 对象
SqlSession session=factory .openSession(false)
参数如果为true,表示该会话具有自动提交事务的功能,否则需程序员手动提交事务。
4,使用进行数据库访问
SqlSession session = super.getSqlSession()
// 构造返回值集合
List<UserEntity>result = new ArrayList<UserEntity>()
try {
// 获取映射接口
UserMapper userMapper = session.getMapper(UserMapper.class)
// 调用接口中的方法
List<UserEntity>list = userMapper.getUserList(userEntity)
// 提交事务
session.commit()
} catch (Exception e) {
// 回滚事务
session.rollback()
} finally {
// 关闭会话
session.close()
}
1,每次需要生成哪个表,就把配置文件的 table 的标签的属性进行修改
2,如果想要一次性生成所有表,可以把 tableName 配置为 *,一般不推荐这么干,开发项目的时候最好是要用到哪些表,才去生成
注意命令最后的 -e 不能少,要不然生成文件 不是 utf-8 格式,中文会乱码
以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点:
1. hibernate是全自动,而mybatis是半自动。
hibernate完全可以通过对象关系模型实现对数据库的 *** 作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。
2. hibernate数据库移植性远大于mybatis。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)