1.sqlMapConfig的propeties属性(很鸡肋)-------指明外部属性
propeties定义的一些属性,下面都可以直接用,用于赋值等,适合相同值的修改
或者读入外部文件
2.sqlMapConfig的typealiases属性-------起别名
注意:
3.sqlMapConfig的mapper属性
4.sqlMapConfig的resuletMap结果集属性—解决返回值不对称问题(例如数据库表中属性值为name,而javabean中为username)
column不一定为列名,若sql语句中有别名出现则与别名一致
5.多个参数查询得出list型结果封装javabean传过去
5.构建复杂查询对象可以获得一级属性(例如查询category.cname和product.cichu条件限制的产品的信息)
/**
* Unit test for simple App.
*/
public class App1Test {
private SqlSessionFactory sqlSessionFactory=null;
@Before
public void init(){
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
sqlSessionFactory = builder.build(App1Test.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml"));
}
@Test
public void testFindById1() {
SqlSession sqlSession = sqlSessionFactory.openSession();
ProductDao productDao = sqlSession.getMapper(ProductDao.class);
Product product = new Product();
product.setCicun(6);
product.setPrice(3980.99);
List<Product> products = productDao.findByCondition(product);
System.out.println(products);
}
@Test
public void testFindById2() {
SqlSession sqlSession = sqlSessionFactory.openSession();
ProductDao productDao = sqlSession.getMapper(ProductDao.class);
ProductQuery productQuery = new ProductQuery();
Product product = new Product();
product.setCicun(6);
Category category = new Category();
category.setCname("手机数码");
productQuery.setCategory(category);
productQuery.setProduct(product);
List<Product> products = productDao.findByCondition2(productQuery);
System.out.println(products);
}
}