请问老师这个三个问题

来源:5-3 自由编程

JavaNice

2019-07-19 23:40:39

第一个问题:如果把对象写在方法外面,那就是加载这个类时,SqlSession对象就创建了,放在方法中则需要调用方法时才创建?

第二个问题:为什么调用getSession方法然后再调用commit却不能将数据导入,只是主键增加

第三个问题:这个StudentDao.java中的私有属性和私有方法的创建思路是怎么样的,list可以忽略

http://img.mukewang.com/climg/5d31e4640001311512220753.jpg

写回答

1回答

好帮手慕阿满

2019-07-20

同学你好,关于同学的问题:

1、如果将sqlSession定义在类中,属于类变量,在类中都可以使用,如果定义在方法中,在调用方法时创建,并且只能在该方法中使用。

2、调用getSession()方法会生成一个新的sqlSession对象,和之前插入数据的不是同一个sqlSession对象,所以getSession.commint()无法提交之前插入的数据。

3、设置私有属性和私有方法都是只能在本类中使用。

    在类中定义属性,可以在本类中使用该属性,而不用重新定义。比如SqlSession对象sqlSession属性,在findAll()方法中使用sqlSession对象没有重新定义。

    私有方法getSession()是创建sqlSession并返回。在findAll()方法中和addUsers()方法中都使用了sqlSession对象,使用后都将其close()关掉了,如果不使用getSession()方法创建对象并返回,而是在定义属性时完成对象的创建,那么使用一次后被关闭,再次使用时会报错。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

0 学习 · 8016 问题

查看课程