mybatis学习教程(三)mybatis映射开发规范
来源:互联网 发布:jquery 获取input数组 编辑:程序博客网 时间:2024/06/06 19:49
1、前言
前面一讲讲到讲到初级的Mybatis开发,现在晋级将一些他的规范开发,规范的东西更便于维护和阅读。
2、为Mybatis开发规范
1、mapper.xml中namespace指定为mapper接口的全限定名
此步骤目的:通过mapper.xml和mapper.java进行关联。
2、mapper.xml中statement的id就是mapper.java中方法名
3、mapper.xml中statement的parameterType和mapper.java中方法输入参数类型一致
4、mapper.xml中statement的resultType和mapper.java中方法返回值类型一致.
java对象:UserMapper依旧
import com.ycy.mybatis.module.User;import java.util.List;/** * Created by Administrator on 2015/8/31 0031. */public interface UserMapper { public User getUserById(int id) throws Exception; public List<User> findUserByName(String username) throws Exception; public void insertUser(User user) throws Exception;}xml对象:UserMapper.xml
<?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"><!--命名空间:分类管理sql隔离,方便管理--><mapper namespace="com.ycy.mybatis.dao.UserMapper"> <!--id标示一个sql语句,一个Statement,封装为一个MapperStatement--> <!--parameterType:传入参数类型;resultType:输出结果类型,指定映射的pojo--> <!--#{}标示一个占位符,--> <!--查询用户--> <!--oracle--> <!-- SELECT * FROM USER WHERE username LIKE '%'||#{_parameter}||'%'--> <!-- mysql--> <select id="getUserById" parameterType="int" resultType="com.ycy.mybatis.module.User"> SELECT * FROM USER WHERE id=#{id} </select> <select id="findUserByName" parameterType="String" resultType="com.ycy.mybatis.module.User"> SELECT * FROM USER WHERE username LIKE '%${_parameter}%' </select> <!--新增用户--> <insert id="insertUser" parameterType="com.ycy.mybatis.module.User" > <!--插入值之后返回主键值--> <selectKey resultType="int" order="AFTER" keyProperty="id"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO USER (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address}) </insert> <!--删除用户--> <delete id="deleteUser" parameterType="int"> DELETE FROM USER WHERE id=#{id} </delete> <!--更新用户--> <update id="updateUser" parameterType="com.ycy.mybatis.module.User"> UPDATE USER SET username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} WHERE id=#{id} </update></mapper>测试结果:MybatisTest3
package com.ycy.mybatis.test;import com.ycy.mybatis.dao.UserMapper;import com.ycy.mybatis.module.User;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Before;import org.junit.Test;import java.io.IOException;import java.io.InputStream;import java.util.List;/** * Created by Administrator on 2015/8/31 0031. */public class MybatisTest3 { private SqlSessionFactory sqlSessionFactory = null; @Before public void before() throws IOException { String resource="SqlMapConfig.xml"; InputStream in = Resources.getResourceAsStream(resource); sqlSessionFactory= new SqlSessionFactoryBuilder().build(in); } @Test public void testGet() throws Exception { SqlSession sqlSession=sqlSessionFactory.openSession(); UserMapper userService= sqlSession.getMapper(UserMapper.class); User user= userService.getUserById(1); System.out.println(user.getUsername()); } @Test public void testFindByname() throws Exception { SqlSession sqlSession=sqlSessionFactory.openSession(); UserMapper userMapper= sqlSession.getMapper(UserMapper.class); List<User> userList= userMapper.findUserByName("陈小明"); for (User user : userList) { System.out.println(user.getUsername()); } }}
如有疑问:qq群:78275755(目前木有人,来啦更好)
本项目1-5章 初级教程 项目百度分享盘:
本项目1-5章 初级教程 项目百度分享盘:
http://pan.baidu.com/s/1o63SUaI
0 0
- mybatis学习教程(三)mybatis映射开发规范
- Mybatis框架学习(三)—高级映射,延迟加载
- MyBatis学习笔记(三)——映射
- mybatis学习三 多级结果映射
- Mybatis学习笔记三(Mybatis SQL映射文件)
- 【Mybatis学习】Mybatis映射器
- MyBatis 教程 - MyBatis插件(Plugins)开发
- MyBatis学习(三)--Mybatis编写方式
- Mybatis(Mapper映射开发)
- mybatis开发规范
- MyBatis 学习-映射
- MyBatis学习--高级映射
- mybatis学习整理(教程)
- 深入MyBatis开发之mybatis映射器
- mybatis学习笔记(三)
- MyBatis学习(三)- 小结
- mybatis学习笔记(三)
- Mybatis学习笔记(三)
- HTTP请求返回状态码详解
- hihoCoder (1223 : 不等式)
- Web服务器的工作原理
- 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换
- [持续更新]HTML5学习笔记(一)
- mybatis学习教程(三)mybatis映射开发规范
- 数学记号
- 数据结构 3 栈和队列
- nyoj 852 蛇形填数(二)【循环+数组】
- 华为校园招聘Java机试题
- hihoCoder 1224 : 赛车
- seajs使用教程指南
- 各种同步方法性能比较(synchronized,ReentrantLock,Atomic)
- install docker on openstack juno