【知了堂学习笔记】mybatis通过代理实现增删改查
来源:互联网 发布:公务员网络课程有用吗 编辑:程序博客网 时间:2024/06/15 16:07
请关注“知了堂学习社区”,地址:http://www.zhiliaotang.com/portal.php
在前面一种方法中,每次使用方法都需要编写statement语句对sql语句进行定位,还有许多重复的代码。我们希望有一种方法可以按照开发dao接口一样来通过对dao接口进行调用就能实现功能,既方便调用也实现了代码的解耦。因此mapper代理产生了,同时它也是官方推荐我们使用的方法。
1.代码
1.1 项目结构
1.2 user表
DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `username` char(16) NOT NULL, `password` varchar(16) NOT NULL, `age` char(16) NOT NULL, `gender` varchar(255) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records of user-- ----------------------------INSERT INTO `user` VALUES ('ljx1', 'hgig', 'yx', 'xy');INSERT INTO `user` VALUES ('123', '456', '789', '789');INSERT INTO `user` VALUES ('xuna', '5', '45', '6');
1.3 User.java
package entity;public class User { private String userName; private String passWord; private String age; private String gender; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { // TODO Auto-generated method stub return "userName = "+userName+",passWord = " +passWord+ ",age = "+age+",gender = " +gender+ ""; }}
1.4 conf.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> <environments default="development"> <environment id="development"> <!-- 事务 --> <transactionManager type="JDBC"></transactionManager> <!-- 数据源 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/student"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapping/UserMapper.xml"/> </mappers></configuration>
1.5 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"><mapper namespace="dao.UserDao"> <!-- 根据ID查询 --> <select id="findById" resultType="entity.User" parameterType="String"> select * from user where username = #{username} </select> <!-- 查询所有 --> <select id="findAll" resultType="list"> select * from user </select> <!-- 根据Id删除记录 --> <delete id="deleteById" parameterType="String"> delete from user where username = #{username} </delete> <!-- 新增一条记录 --> <insert id="insert" parameterType="entity.User"> insert into user values(#{username},#{password},#{age},#{gneder}) </insert> <!-- 修改一条记录 --> <update id="updateById" parameterType="entity.User" > update user set password = #{password} , age = #{age} , gender = #{gender} where username = #{username} </update>
1.6 TestUserDao.java
package test;import java.io.InputStream;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import dao.UserDao;import entity.User;import junit.framework.Test;public class TestUserDao { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub // 1.读取配置文件 InputStream in = Test.class.getClassLoader().getResourceAsStream("mapping/conf.xml"); // 2.开启sql工厂 SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in); // 3.获取sqlsession SqlSession session = ssf.openSession(true); // 4.通过代理实现userdao UserDao userdao = session.getMapper(UserDao.class); User user = userdao.findById("123"); System.out.println(user); }}
2.注意事项
2.1 开发规范
2.1.1 *Mapper.xml中的namespace填写dao的路径。
2.1.2 dao接口中的方法名必须和mapper中的sql语句中的Id一致;返回值类型和sql语句中的resultType一致;输入参数和sql语句中的parameterType 一致;
阅读全文
0 0
- 【知了堂学习笔记】mybatis通过代理实现增删改查
- 【知了堂学习笔记】myBatis实现增删查改
- Mybatis学习笔记三:实现增删查改
- Mybatis介绍、安装、实现简单增删改查、实现基于动态代理增删改查、核心配置文件讲解 笔记
- Mybatis mapper代理开发方法实现增删改查
- Mybatis-实现增删改查
- MyBatis实现增删改查
- mybatis实现增删查改
- mybatis通过接口实现增删改查方法
- mybatis学习笔记二(实现数据的增删改查)
- MyBatis学习笔记(三)---增删改查
- mybatis学习笔记(七)增删改查
- mybatis学习笔记(二)增删改查
- mybatis学习笔记(二) --- 熟悉增删查改
- Mybatis学习笔记-第一个增删改查的程序
- mybatis-springmvc+mybatis实现增删改查
- Mybatis学习(3)实现数据的增删改查
- Mybatis入门学习三:实现数据的增删改查
- 1068. 万绿丛中一点红(20)
- Java IO流 File对象
- spring IOC 使用list数组注入
- IDEA 中 如何通过数据库表生成带注解的实体类
- lightoj 1123(增量最小生成树)
- 【知了堂学习笔记】mybatis通过代理实现增删改查
- Java设计模式 之 工厂模式及抽象工厂模式
- nodejs Events -https://nodejs.org/api/events.html
- char int word long的大小
- java常用排序
- Java IO File对象 常见功能
- SDUT 2134 数据结构实验之栈与队列四:括号匹配
- java练习:输入某年某月某日,判断这一天是这一年的第几天?
- c++重载