Mysql学习:易忘知识点

来源:互联网 发布:apache listen 编辑:程序博客网 时间:2024/06/05 12:47

1.插入语句使用方法 value和values都可以使用

Insert INTO test values();   //values的()内必须添加test表所有字段的值才可以执行

Insert INTO test(id,name) values();

INSERT INTO test4  (SELECT * FROM test2);  对于SELECT插入中间不能使用value或者values。


2.Mybatis延迟加载

<settings>  
         <!-- 打开延迟加载的开关 -->  
         <setting name="lazyLoadingEnabled" value="true" />  
         <!-- 将积极加载改为消息加载即按需加载 -->  
         <setting name="aggressiveLazyLoading" value="false"/>  
    </settings>

如果在程序里面输出的是整个对象,即使重写了toString()方法,延迟加载还是会失败,因为如果调用了对象的toString()方法,说明对象已经初始化好了,所有的属性在查询的时候已经赋值了,这只是猜想,实验结果证明了这一点。

此种方法延迟加载失败

List<Category2> cs = mapper.list2();
for(Category2 c : cs){
System.out.println(c);
// List<Product> ps = c.getProducts();
// for(Product p : ps){
// System.out.println(p);
// }
}

此种方式延迟加载成功

List<Category2> cs = mapper.list2();
for(Category2 c : cs){
System.out.println(c.getName());
// List<Product> ps = c.getProducts();
// for(Product p : ps){
// System.out.println(p);
// }
}