Mybatis的接口映射、接口的注解映射和自定义传参
来源:互联网 发布:手机防盗警报器软件 编辑:程序博客网 时间:2024/06/05 00:34
接口映射——————
主配置文件mybatis.xml增加<mapper>标签:<mappers> <mapper resource="cn/et/mybatis/lesson01/interfaceMapping/dept_mapper.xml" /> </mappers>
mapper副配置文件:
<?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必需跟接口的全名一致 --><mapper namespace="cn.et.mybatis.lesson01.interfaceMapping.DeptMapper"><!-- select的id必须和接口的方法名一致resultType和接口返回值的泛型一致没有返回值就不写 --><select id="selectDept" resultType="map">select * from dept</select><update id="updateDept">update dept set dname='后勤部' where deptno=50</update><insert id="addDept">insert into dept values(60,'生产部', '上海')</insert><delete id="deleteDept">delete from dept where deptno=60</delete></mapper>
Mapper接口:
package cn.et.mybatis.lesson01.interfaceMapping;import java.util.List;import java.util.Map;public interface DeptMapper {public List<Map> selectDept();public void updateDept();public void addDept();public void deleteDept();}
测试类:
package cn.et.mybatis.lesson01.interfaceMapping;import java.io.InputStream;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;public class TestMybatis {public static SqlSession getSession(){String resource = "mybatis.xml";InputStream inputStream = cn.et.mybatis.lesson01.TestMybatis.class.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//打开会话SqlSession session = sqlSessionFactory.openSession();return session;}public static void main(String[] args) {//打开会话SqlSession session = getSession();//通过动态代理 创建一个实现类 自动调用配置文件DeptMapper dm = session.getMapper(DeptMapper.class);List<Map> list = dm.selectDept();for (Map map : list) {System.out.println(map);}}@Testpublic void insert(){SqlSession session = getSession();DeptMapper dm = session.getMapper(DeptMapper.class);dm.addDept();session.commit();}@Testpublic void update(){SqlSession session = getSession();DeptMapper dm = session.getMapper(DeptMapper.class);dm.updateDept();session.commit();}@Testpublic void delete(){SqlSession session = getSession();DeptMapper dm = session.getMapper(DeptMapper.class);dm.deleteDept();session.commit();}}
接口的注解映射——————————
mybatis.xml:
<mappers> <mapper class="cn.et.mybatis.lesson01.annotationMapper.EmpMapper"/> </mappers>
EmpMapper接口:
package cn.et.mybatis.lesson01.annotationMapper;import java.util.List;import java.util.Map;import org.apache.ibatis.annotations.Select;public interface EmpMapper {@Select(value="select * from emp")public List<Map> selectEmp();}
测试类:
package cn.et.mybatis.lesson01.annotationMapper;import java.io.InputStream;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;public class TestMybatis {public static SqlSession getSession(){String resource = "mybatis.xml";InputStream inputStream = cn.et.mybatis.lesson01.TestMybatis.class.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//打开会话SqlSession session = sqlSessionFactory.openSession();return session;}public static void main(String[] args) {//打开会话SqlSession session = getSession();//通过动态代理 创建一个实现类 自动调用配置文件EmpMapper dm = session.getMapper(EmpMapper.class);List<Map> list = dm.selectEmp();System.out.println(list.size());}}
自定义传参————————
config主配置文件mybatis.xml:
<mappers> <mapper resource="cn/et/mybatis/lesson01/param/money_mapper.xml" /> </mappers>
mapper副配置文件:
<?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必需跟接口的全名一致 --><mapper namespace="cn.et.mybatis.lesson01.param.MoneyMapper"><!-- select的id必须和接口的方法名一致resultType和接口返回值的泛型一致没有返回值就不写#{}语法格式是(实际上是使用jdbc的?点位符传参是安全的 )第一种#{0}第二种#{param1}第三种指定别名#{}${}是字符串拼接,拼接字符串的话要添加'' 是不安全的 --><select id="selectMoney" resultType="java.util.Map">select * from money where name=#{name}</select></mapper>
Mapper接口:
package cn.et.mybatis.lesson01.param;import java.util.List;import java.util.Map;import org.apache.ibatis.annotations.Param;public interface MoneyMapper {public List<Map> selectMoney(@Param("name")String name);}
测试类:
package cn.et.mybatis.lesson01.param;import java.io.InputStream;import java.util.List;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class TestMybatis {public static SqlSession getSession(){String resource = "mybatis.xml";InputStream inputStream = cn.et.mybatis.lesson01.TestMybatis.class.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//打开会话SqlSession session = sqlSessionFactory.openSession();return session;}public static void main(String[] args) {//打开会话SqlSession session = getSession();//通过动态代理 创建一个实现类 自动调用配置文件MoneyMapper dm = session.getMapper(MoneyMapper.class);List list = dm.selectMoney("zs");for (Object object : list) {System.out.println(object);}}}
阅读全文
0 0
- Mybatis的接口映射、接口的注解映射和自定义传参
- Mybatis的接口映射、接口的注解映射和自定义传参
- MyBatis (二) 注解映射接口
- Mybatis(4):映射文件与接口代码的传参,使用@Param 注解用法
- myBatis 接口 映射 sql
- mybatis接口映射
- MyBatis接口映射
- Mybatis配置和接口映射原理
- Mybatis配置和接口映射原理
- MyBatis中的结果集映射---接口全注解
- 三(二)mybatis接口映射sql使用注解
- MyBatis框架核心之(三)注解使用接口映射
- MyBatis使用接口映射的简单HelloWorld小例子
- MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)
- Mybatis接口映射,嵌套查询
- 整合maven+mybatis+generator生成java自定义model实体类,dao接口和mapper映射文件
- Mybatis的注解应用之映射声明
- Mybatis的注解应用之关系映射
- 引起进程撤销的事件
- 《Unix环境高级编程》之 系统数据文件和时间处理函数
- 闭包、this指向
- Java 多线程并发编程之 Synchronized 关键字
- ServletContext和ServletConfig
- Mybatis的接口映射、接口的注解映射和自定义传参
- okgo导入的时候出现的一个问题和解决方法
- 【LintCode】删除排序数组中的重复数字
- ss素性检验实现与雅克比符号计算
- bzoj1787: [Ahoi2008]Meet 紧急集合&&bzoj1832: [AHOI2008]聚会
- 折腾
- Servlet(2)
- OpenLayers地图坐标转换屏幕坐标
- OpenCV2.4.9+VS2010安装配置教程