如何使用myBatis访问数据库
426次<?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="dev"> <environment id="dev"> <transactionManager type="JDBC"></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();??
}??