请问老师这个三个问题
来源:5-3 自由编程
JavaNice
2019-07-19 23:40:39
第一个问题:如果把对象写在方法外面,那就是加载这个类时,SqlSession对象就创建了,放在方法中则需要调用方法时才创建?
第二个问题:为什么调用getSession方法然后再调用commit却不能将数据导入,只是主键增加
第三个问题:这个StudentDao.java中的私有属性和私有方法的创建思路是怎么样的,list可以忽略

1回答
好帮手慕阿满
2019-07-20
同学你好,关于同学的问题:
1、如果将sqlSession定义在类中,属于类变量,在类中都可以使用,如果定义在方法中,在调用方法时创建,并且只能在该方法中使用。
2、调用getSession()方法会生成一个新的sqlSession对象,和之前插入数据的不是同一个sqlSession对象,所以getSession.commint()无法提交之前插入的数据。
3、设置私有属性和私有方法都是只能在本类中使用。
在类中定义属性,可以在本类中使用该属性,而不用重新定义。比如SqlSession对象sqlSession属性,在findAll()方法中使用sqlSession对象没有重新定义。
私有方法getSession()是创建sqlSession并返回。在findAll()方法中和addUsers()方法中都使用了sqlSession对象,使用后都将其close()关掉了,如果不使用getSession()方法创建对象并返回,而是在定义属性时完成对象的创建,那么使用一次后被关闭,再次使用时会报错。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题