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);
}