1. SqlMapConfig.xml -- 配置文件
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objecFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
用来配置加载属性文件 db.properties 关于数据库的连接键值对
typeAliases 重点 --- 默认支持 。
自定义别名,可减少UsersMapper.xml中select parameterType 和resultType的地址代码
指定包名,mybaties自动扫描包中po类,自动定义别名,别名就是类名
po包下的pojo类
2.配置db.properties 或者log4j.properties文件
3.写pojo类.与数据库表中返回值映射
4.UsersMapper.java接口,与UsersMapper.xml要同名映射,其中共用方法在UsersMapper.xml中配置sql语句
5.config (source包)中 配置UsersMapper.xml文件
注:#{value} 输入参数 value为基础类型时,可为任何
insert into users(urname,birthday,sex,address) values(#{urname},#{birthday},#{sex},#{address})
delete from users where id=#{id}
update users set urname=#{urname},birthday=#{birthday},sex=#{sex},address=#{address}
where id=#{id}
6.使用junit测试 数据库连接时。
注:单例模式实例化工厂,因为sqlsession的线程不安全性,需要将其实例化于方法体中
用sqlsession.getMapper(UsersMapper.class)实现UsersMapper接口中方法的调用
private SqlSessionFactory sqlSessionFactory;
@Before
public void setUp() throws Exception {
//获取配置好的SqlMapConfig.xml资源文件
String resource = "SqlMapConfig.xml";
//通过流获取输入流
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);
}
@Test
public void testFindUserById() throws Exception {
SqlSession sqlsession = sqlSessionFactory.openSession();
UsersMapper usermapper = sqlsession.getMapper(UsersMapper.class);
Users user= usermapper.findUserById(1);
System.out.println(user);
}