我们在使用MyBites的时候发现parameterType和resultType的时候如果引用的是一个实体类需要写全包名+具体类名才可以,如下:
<insert id="insertUser" parameterType="cn.core.domain.User" > insert into user values(#{user_id},#{uname},#{addr},#{age}) </insert>
如上,参数里需要写全实体类路径才可以。怎么才能简化我们的开发呢?
使用别名即可解决上述的问题。
找到我们sqlMapConfig.xml文件,在configuration节点里添加一段别名的配置信息即可,下面是我整个sqlMapCaonfig文件信息:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 定义别名 --> <typeAliases> <typeAlias type="cn.core.domain.User" alias="User"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"><!-- 指定类型为连接池 --> <!--数据源信息 --> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="cn/core/domain/User.xml" /> </mappers> </configuration>
注意:重点是在<typeAliases>这个节点上,通过上面的配置,在我们的具体的业务配置文件中就可以这样写了
<!-- 添加 --> <insert id="insertUser" parameterType="User" > insert into user values(#{user_id},#{uname},#{addr},#{age}) </insert>
看无论是parameterType还是resultType都可以直接引用我们的别名了。
时间: 2024-12-21 12:58:36