Mybatis学习(五)mybatis环境下以接口的方式进行的增删查改

来源:互联网 发布:雅思阅读怎样提高知乎 编辑:程序博客网 时间:2024/05/21 23:58

上一篇刚进行过普通的mybatis的增删查改,当然如果在项目中按这样的方法来操作的话,写的代码会太繁重了。现在我们就将进行接口的方式进行增删查改。

需求分析:

以接口的方式进行增删查改

详细设计:

写出接口:IUserOperation.java

   修改User.xml文件

步骤:

IUserOperation.java

package cn.bj.mybatis.model;public interface IUserOperation {    public User selectUser(int id);        public void addUser(User user);        public void updateUser(User user);        public void deleteUser(int id);}
User.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="cn.bj.mybatis.models.UserMapper"> --> <mapper namespace="cn.bj.mybatis.model.IUserOperation">  <!-- 查询数据 -->  <select id="selectUser"  resultType="User">    select * from user where id = #{id}  </select>  <!-- 增加数据 -->  <insert id="addUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">  insert into user(username,age) values(#{username},#{age})  </insert>  <!-- 修改数据 -->  <update id="updateUser" parameterType="User">  update user set username=#{username},age=#{age} where id=#{id}  </update>  <!-- 删除数据 -->  <delete id="deleteUser" parameterType="int">  delete from user where id = #{id}  </delete></mapper>
java的测试类:MybatisTest.java

package cn.bj.mybatis.test;import java.io.IOException;import java.io.InputStream;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 cn.bj.mybatis.model.IUserOperation;import cn.bj.mybatis.model.User;public class MybatisTest {public static void main(String[] args){SqlSessionFactory sqlSessionFactory = null;SqlSession session = null;String resource = "Configuration.xml";InputStream inputStream;try {inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);session = sqlSessionFactory.openSession();System.out.println(session);IUserOperation userOperation = (IUserOperation)session.getMapper(IUserOperation.class);/** * 增加User user = new User();user.setAge(40);user.setUsername("huawei");userOperation.addUser(user);session.commit();System.out.println(user.getId());*//** * 查询User user = userOperation.selectUser(3);System.out.println(user.getUsername());*//** * 修改User user = userOperation.selectUser(3);user.setUsername("22222");session.commit();*//** * 删除userOperation.deleteUser(3);session.commit();*/} catch (IOException e) {e.printStackTrace();}finally{if(session != null){session.close();}}}}
似乎看上去简单了点。也分点层了。




1 0
原创粉丝点击