027-MyBatis相关配置模板
Posted jepson6669
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了027-MyBatis相关配置模板相关的知识,希望对你有一定的参考价值。
SqlMapConfig.xml
<?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> <properties resource="db.properties" > <!-- 在properties内部用property定义属性 --> <!-- 如果外部配置文件有该属性,则内部定义属性被外部属性覆盖 --> <property name="jdbc.username" value="root123" /> <property name="jdbc.password" value="root123" /> </properties> <!-- 别名定义 --> <typeAliases> <!-- 单个别名定义 --> <typeAlias alias="user" type="com.test.mybatis.pojo.User" /> <!-- 批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感),头字母大小写都可以 --> <package name="com.test.mybatis.pojo"/> <package name="其他包"/> </typeAliases> <!-- 和spring整合后 environments配置将废除 --> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理 --> <transactionManager type="JDBC" /> <!-- 数据库连接池 --> <dataSource type="POOLED"> <!-- <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://39.105.94.154:3306/mybatis?characterEncoding=utf-8" /> <property name="username" value="tom" /> <property name="password" value="tom" /> --> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <mappers> <mapper resource="sqlmap/User.xml"/> <mapper resource="mapper/UserMapper.xml"/> <!-- mapper的其它配置方式 --> <!-- 方式1 :使用mapper接口类路径 <mapper class="com.test.mybatis.mapper.UserMapper"/> 注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。 --> <!-- 方式2:注册指定包下的所有mapper接口 <package name="com.test.mybatis.mapper"/> 注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。 --> </mappers> </configuration>
sqlmapper
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 --> <mapper namespace="test"> <!-- 根据id查询用户 --> <select id="queryUserById" parameterType="Integer" resultType="com.test.mybatis.pojo.User"> <!-- id:statement的id 或者叫做sql的id--> <!-- parameterType:声明输入参数的类型 --> <!-- resultType:声明输出结果的类型,应该填写pojo的全路径 --> <!-- #{}:输入参数的占位符,相当于jdbc的? --> select * from user where id = #{id} </select> <!-- 实现根据用户名模糊查询用户 --> <!-- 如果返回多个结果,mybatis会自动把返回的结果放在list容器中 --> <!-- resultType的配置和返回一个结果的配置一样 --> <select id="queryUserByUsername1" parameterType="String" resultType="com.test.mybatis.pojo.User"> select * from user where username like #{username} </select> <!-- 如果传入的参数是简单数据类型,${}里面必须写value --> <select id="queryUserByUsername2" parameterType="String" resultType="com.test.mybatis.pojo.User"> select * from user where username like ‘%${value}%‘ </select> <!-- 添加用户 --> <!-- #{username}可以看成是getUsername方法,从User中取出。 --> <insert id="insertUser" parameterType="com.test.mybatis.pojo.User"> <!-- selectKey 标签实现主键返回 --> <!-- keyColumn:主键对应的表中的哪一列 --> <!-- keyProperty:主键对应的pojo中的哪一个属性 --> <!-- order:设置在执行insert语句前执行查询id的sql,还是在执行insert语句之后执行查询id的sql --> <!-- resultType:设置返回的id的类型 --> <selectKey keyColumn="id" keyProperty="id" order="AFTER" resultType="Integer"> select last_insert_id() </selectKey> insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address}) </insert> <!-- 修改用户 --> <update id="updateUser" parameterType="com.test.mybatis.pojo.User"> update user set username=#{username},birthday=#{birthday} where id=#{id} </update> <!-- 删除用户 --> <delete id="deleteUserById" parameterType="Integer"> delete from user where id=#{id} </delete> </mapper>
数据库database.properties
这个主要是给properties标签使用的
<properties resource="database.properties" ></properties>
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://39.105.94.154:3306/mybatis?characterEncoding=utf-8
jdbc.username=tom
jdbc.password=tom
Mapper动态代理方式的隐射文件
Mapper接口开发需要遵循以下规范:
1、 Mapper.xml文件中的namespace与mapper接口的类路径相同。
2、 Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
3、 Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
4、 Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace:命名空间,用于隔离sql --> <!-- 还有一个很重要的作用,使用动态代理开发DAO,1. namespace必须和Mapper接口类路径一致 --> <mapper namespace="com.test.mybatis.mpper.IUserMpper"> <!-- 根据用户id查询用户 --> <!-- 2. id必须和Mapper接口方法名一致 --> <!-- 3. parameterType必须和接口方法参数类型一致 --> <!-- 4. resultType必须和接口方法返回值类型一致 --> <select id="queryUserById" parameterType="Integer" resultType="user"> select * from user where id = #{id} </select> <!-- 根据用户名查询用户 --> <select id="queryUserByUsername" parameterType="String" resultType="com.test.mybatis.pojo.User"> select * from user where username like ‘%${value}%‘ </select> <!-- 保存用户 --> <insert id="saveUser" parameterType="com.test.mybatis.pojo.User"> insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address}) </insert> </mapper>
以上是关于027-MyBatis相关配置模板的主要内容,如果未能解决你的问题,请参考以下文章
[AndroidStudio]_[初级]_[配置自动完成的代码片段]
[AndroidStudio]_[初级]_[配置自动完成的代码片段]