博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用mybatis3--mapping文件方式
阅读量:6698 次
发布时间:2019-06-25

本文共 4216 字,大约阅读时间需要 14 分钟。

hot3.png

1.pom.xml环境搭建参考

2.给出目录结构,

113333_Vk9c_555061.png

3.跟注解方式不同,这里的dao包下面的UsersMapper.java不再有注解,

package com.xuebaosoft.mybatis3.mybatis_mapper.dao;import java.util.List;import java.util.Map;import com.xuebaosoft.mybatis3.mybatis_mapper.model.Users;public interface UsersMapper {    int deleteByPrimaryKey(String id);    int insert(Users record);    int insertSelective(Users record);    Users selectByPrimaryKey(String id);    int updateByPrimaryKeySelective(Users record);    int updateByPrimaryKey(Users record);	List
 userPagingList(Map
 offsetAndPageSize);}

其实这里是将带注解篇介绍的UserDao.java替换为了UsersMapper.java

4.查看配置文件,看下注解的功能是如何用mapping方式代替实现的,mybatis-config.xml配置如下,

  

其实这里就是增加了:

也就说在加载配置mybatis-config.xml的时候就已经将UsersMapper.xml连带着一起注册到环境中了。而在UsersMapper.xml中会引用com.xuebaosoft.mybatis3.mybatis_mapper.dao.UsersMapper这个类,因此相当于Dao层的Mapper类有了,映射sql的mapper.xml有了,datasource也已经配置完毕,因此到此为止所有的环境均已构建好。

5.UsersMapper.xml如下,

id, username, password, name, nickname, sex, picture, createtime, lastlogintime, tilepath
select
from users where id = #{id,jdbcType=VARCHAR}
delete from users where id = #{id,jdbcType=VARCHAR}
insert into users (id, username, password, name, nickname, sex, picture, createtime, lastlogintime, tilepath) values (#{id,jdbcType=VARCHAR}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR}, #{sex,jdbcType=VARCHAR}, #{picture,jdbcType=VARCHAR}, #{createtime,jdbcType=VARCHAR}, #{lastlogintime,jdbcType=VARCHAR}, #{tilepath,jdbcType=VARCHAR})
insert into users
id,
username,
password,
name,
nickname,
sex,
picture,
createtime,
lastlogintime,
tilepath,
#{id,jdbcType=VARCHAR},
#{username,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR},
#{nickname,jdbcType=VARCHAR},
#{sex,jdbcType=VARCHAR},
#{picture,jdbcType=VARCHAR},
#{createtime,jdbcType=VARCHAR},
#{lastlogintime,jdbcType=VARCHAR},
#{tilepath,jdbcType=VARCHAR},
update users
username = #{username,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
name = #{name,jdbcType=VARCHAR},
nickname = #{nickname,jdbcType=VARCHAR},
sex = #{sex,jdbcType=VARCHAR},
picture = #{picture,jdbcType=VARCHAR},
createtime = #{createtime,jdbcType=VARCHAR},
lastlogintime = #{lastlogintime,jdbcType=VARCHAR},
tilepath = #{tilepath,jdbcType=VARCHAR},
where id = #{id,jdbcType=VARCHAR}
update users set username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, name = #{name,jdbcType=VARCHAR}, nickname = #{nickname,jdbcType=VARCHAR}, sex = #{sex,jdbcType=VARCHAR}, picture = #{picture,jdbcType=VARCHAR}, createtime = #{createtime,jdbcType=VARCHAR}, lastlogintime = #{lastlogintime,jdbcType=VARCHAR}, tilepath = #{tilepath,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
select
from users limit #{offset}, #{pageSize}

6.junit进行测试,

package com.xuebaosoft.mybatis3.mybatis_mapper;import java.util.List;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;import com.xuebaosoft.mybatis3.mybatis_mapper.model.Users;import com.xuebaosoft.mybatis3.mybatis_mapper.service.UserService;import com.xuebaosoft.mybatis3.mybatis_mapper.service.impl.UserServiceImpl;public class AppTest extends TestCase {	public AppTest(String testName) {		super(testName);	}	public static Test suite() {		return new TestSuite(AppTest.class);	}	public void testApp() {		UserService userService = new UserServiceImpl();//		Users user = new Users("123321", "zhangsan", "111111", "name",//				"nickname", "sex", "picture", "createtime",//				"lastlogintime", "tilepath");//		userService.update(user);				Users user = userService.getUserById("123321");		System.out.println(user);		List
 list = userService.getUsers(0, 10); System.out.println(list); }}

7.备注,如果增加一个业务,如图,

150712_yUEA_555061.png

则需要增加的配置如下,

150816_aUWK_555061.png

151114_xJIt_555061.png

转载于:https://my.oschina.net/u/555061/blog/507487

你可能感兴趣的文章
Hibernate的fetch
查看>>
C#多线程案例基础
查看>>
WPF中的动画——(一)基本概念
查看>>
SQL Server 固定角色
查看>>
c# Ftp下载程序源代码解析
查看>>
利用NPOI开源的读写Excel、WORD等微软OLE2组件读写execl,控制样式或单元格
查看>>
走出浮躁的泥沼:浮躁的社会原因 控制好自己的物欲
查看>>
〖Linux〗Kubuntu设置打开应用时就只在打开时的工作区显示
查看>>
mysql导入sql文件过大或连接超时的解决办法
查看>>
Find Minimum in Rotated Sorted Array
查看>>
【linux】学习6
查看>>
用UltraISO制作的u盘ubuntu11.04,启动失败解决方案
查看>>
<audio> 标签简介
查看>>
Atitit.web预览播放视频的总结
查看>>
自动布局
查看>>
【转】功能测试的经验总结
查看>>
【转】每天一个linux命令(39):grep 命令
查看>>
【百度地图API】如何制作班级地理通讯录?LBS通讯录
查看>>
c# event Action 判断事件列表中是否存在这个委托
查看>>
Oracle初始化参数之memory_target
查看>>