文章目录
前言
喜欢你和一碗水端平,要那个,你自己选?
提示:以下是本篇文章正文内容,下面案例可供参考
一、mybatis引入资源的四种方式
说明:之前已经谈到mybatis的使用,现在我们来聊一下mybatis引入资源的三种方式,以及报错的问题。
1.第一种方式:相对于类路径的资源使用
代码如下:
<mappers>
<mapper resource="com/kuang/dao/UserMapper.xml"/>
</mappers>
2.第二种方式:使用完全限定资源定位符
代码如下:
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
</mappers>
3.第三种方式:使用完全限定类名
代码如下:
<mappers>
<mapper class="com.kuang.dao.UserMapper"/>
</mappers>
如果使用完全限定类名的时候,需要注意的地方,配置文件名称必须和接口名称一致,否则他就会报一下error
com.kuang.dao.UserDao.getUserList
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53)
at org.apache.ibatis.binding.MapperProxy.lambda$cachedMapperMethod$0(MapperProxy.java:61)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:61)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:56)
at com.sun.proxy.$Proxy0.getUserList(Unknown Source)
at com.kuang.dao.MyTest.main(MyTest.java:14)
Process finished with exit code 1
4.第四种方式:将包内的映射器接口实现全部注册为映射器但是需要配置文件名称和接口名称一致,并且位于同一目录下
代码如下:
<mappers>
<package name="com.kuang.dao"/>
</mappers>
二、properties(属性设置)
1.在资源目录下新建一个db.properties文件
代码如下(db.properties):
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8
username=root
2.在mybatis-config.xml核心配置文件中导入properties文件
代码如下(db.properties):
<properties resource="db.properties" ></properties>
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
或者我们还可以这样来玩
dri=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8
userName=root
<property name="driver" value="${dri}"/>
<property name="url" value="${url}"/>
<property name="username" value="${userName}"/>
这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。注意:其中优先级的问题。
三、别名(typeAliases)优化的问题
<typeAliases>
<typeAlias type="com.kuang.pojo.User" alias="user"/> </typeAliases>
注意:别名配置时,要注意顺序的问题。
也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean
<typeAliases>
<package name="com.kuang.pojo"/>
</typeAliases>
总结
此外,关于mybatis配置,还有很多,下期文章将一一为大家展示。