1.properties属性
项目的目录结构:
修改四的配置文件如下:
创建db.properties:
url:jdbc:mysql://127.0.0.1:3306/ssm?autoReconnect=true&useUnicode=true&characterEncoding=utf8
driver:com.mysql.jdbc.Driver
username:root
password:root
再次测试通过。
2.settings全局参数:
开启二级缓存,延迟加载....
3.typeAliases别名配置:通过别名来替换配置文件中的参数,变量的全路径,简化开发:
默认别名,字符串,整数,双,布尔-----------------对应的映射类型为:---------------- - ---字符串,整型,双精度,布尔
修改mybatis-congfig :(命名空间的别名),注意,命名空间好像不支持别名,namespace的mapper类路径要写全,否则会报错。
........
mapper.xml中更改:
类型控制器类型转换器:
默认支持的转换有
java类型:Date(java.util)---数据库的类型日期Date --- timestamp,Date --- time timestamp(java.sql)--- timestamp ............. .........
映射映射器:(批量扫描包下的映射文件)------想法中的一个大坑(重点记录说明)
1.这是通过资源的单个文件的加载:(这种方式不用保证同接口同包同名,各大IDE都支持这种方式)
2.第二种方式:用法如下:
3.通过映射器接口加载映射文件,前提,使用映射器代码,并遵循一些规范(如果是非注解模式的话XML配置文件必须也处于同一级包下,且与映射器类同名,即同包同名)
批量加载的写法:在构思中这的英文一个大坑(重点记录说明)
首先在放一下我的目录:
在MyBatis的-config.xml的文件中我是通过映射器接口加载映射文件(即批量映射器文件)的形式配置的,从目录中看出,文件啊,配置啊都遵循了规范(同包同名称)
但是运行时总是报绑定错误,或找不到方法...:
org.apache.ibatis.binding.BindingException:无效的绑定语句(未找到):com.lmj.ssm.mapper.UserMapper.findUserById
同样的代码放到蚀上跑就没有问题(蚀在打包时会将SRC / JAVA下的XML文件编译到的.class文件中),网上找了好久,终于解决,(想法出现无法自动映射映射问题)
导致的原因是mapper.xml没有放在资源文件中&#xff0c;在编译的时候想法不会将诸如.xml文件编译到类下面&#xff0c;应该要告诉想法将src / main / java中的mapper.xml文件编译到类文件中。请在pom.xm的<建立>中加入如下代码&#xff1a;
src/main/Java**/*.javasrc/main/resources**/*.*
给出我的pom文件&#xff1a;
4.0.0comlmj1.0-SNAPSHOTwarlmj Maven Webapphttp://www.example.comUTF-81.71.7junitjunit4.11testjavaxjavaee-api7.0mysqlmysql-connector-java5.1.36org.mybatismybatis3.4.6lmjorg.apache.maven.pluginsmaven-compiler-plugin8src/main/Java**/*.javasrc/main/resources**/*.* maven-clean-plugin3.0.0maven-resources-plugin3.0.2maven-compiler-plugin3.7.0maven-surefire-plugin2.20.1maven-war-plugin3.2.0maven-install-plugin2.5.2maven-deploy-plugin2.8.2
在思想中还有一个坑&#xff0c;它对JSP中的JSX语法的支持不太好&#xff0c;需要安装相应插件&#xff0c;或导入相关依赖来解决
遇到错误&#xff0c;多关注一下Tager的的文件&#xff0c;即IDE打包后的最终的项目文件&#xff0c;看是否因为某些因数导致某些文件漏到了