发表于: 2018-03-18 23:42:13
1 563
电脑崩溃了!!写了一天的日报没了!!
系统现在还没装好,只能凭记忆重写。
今日完成:
1.Mybatis修改好,可以跑通了。;
报错了许多地方:
第一大原因是xml文件的配置和路径错误,不能一一对应就不能跑通。与根目录的结构有关,还与idea设置的文件夹方式有关。比如resource文件夹设置为resource的话那么它就是资源目录的根目录,在配置文件里调用它的话就不用写resource/xx/xx.xml前面的resource了。而配置属性里面的引用则是用.去连接,这里容易混淆。而映射指向也是,需要对应上才能调用。
第二大原因是编码的问题。储存xml的编码会在文件头添加bom字样(好像是)。修改保存就好了。
第三大原因是Mapper里的属性映射sql语句,和mybatis里的各个方法是有对应的/如SelecOne和Select标签,使用的时候SelectOne();里面传递的第一个参数(字符串)是select标签里的id值。
还有其它不重要的问题暂时忽略。
2.重新写了一遍jdbcTepmlate,发现记得很不牢固,没办法不看任何资料写出来;
明天计划:
重头继续!!
问题与收获
1.pom.xml的配置不能加载jar包的原因找到了
一度导致写方法都报红,没办法继续。原因是因为需要加载,在右下角有提示和进度条被忽略了。虽然maven用的是本地的库,但是还是需要时间。之前的解决办法是手动导入,现在直接在pom里写dependency属性加载。如果不加载可以打开右边侧边栏的maven project点刷新就可以加载出来了。算是一个大问题。
2.Mybatis大概流程
使用read获取xml配置文件转化为流(在了解),然后根据配置(流)初始化SqlSessionFactory工厂,用工厂创建SqlSession实例去获得连接,然后执行Sql语句查询。如sqlSession.selectOne('mapper里的<select>标签的id值',1);
mybatis的核心是SqlSession,和jdbcTemplate不同的是它的重心在于SQL映射语句和配置文件。它凭依Mapper去查询。需要写大量的sql语句,有一好处是可以支持动态sql语句(在了解)。
jdbcTemplate是分开各个接口实体类调用,核心接口就是jdbcTemplate。
3.commit()提交。某些时候操作数据库修改了以后发现数据库内没有改变就是因为没有提交。不提交的话就会被程序默认执行回滚。而mysql数据库是自动commit的。
评论