• MyBitis(iBitis)系列随笔之三:简单实现CRUD


     

    Mybitis(iBitis)实现对对象增删改查操作要借助<select/>查询,<insert/>增加,<update/>更新,<delete/>删除 标签来操作。

    值得注意的有两点:
      1、在对对象进行增删改时,SqlSession session = sqlSessionFactory.openSession();获取的session。必选执行session.commit();否则操作无效。
      2、Mybitis与hibernate一样,插入数据后会把id值赋值给缓存中对象

    还是接着上一讲的代码继续改动
    UserMapper.xml

    [html] view plain copy
     
    1. <?xml version="1.0" encoding="UTF-8" ?>  
    2. <!DOCTYPE mapper  
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
    5. <mapper namespace="user">  
    6.      <resultMap id="userResultMap" type="user">   
    7.         <id property="id" column="id"/>   
    8.         <result property="userName" column="name"/>   
    9.         <result property="password" column="pass"/>   
    10.      </resultMap>  
    11.       
    12.     <!--resultType 表示com.jefry.User这样一个实体对象 -->  
    13.     <select id="selectUser" parameterType="int"  resultMap="userResultMap" >  
    14.         select * from t_user where id = #{id}  
    15.     </select>  
    16.       
    17.     <!--增加操作-->  
    18.     <insert id="addUser" parameterType="user"   
    19.             useGeneratedKeys="true" keyProperty="id">   
    20.             insert into t_user(name,pass) values(#{userName},#{password})    
    21.     </insert>   
    22.       
    23.     <!--更新操作-->  
    24.     <update id="modifyUser" parameterType="user">  
    25.          update t_user set name=#{userName}, pass=#{password} where id=#{id}   
    26.     </update>  
    27.       
    28.     <delete id="deleteUser" parameterType="int">   
    29.        delete from t_user where id=#{id}  
    30.     </delete>   
    31.        
    32. </mapper>  


    测试代码

    [java] view plain copy
     
    1. public class Test {  
    2.     static String resource = "mybatis-config.xml";  
    3.   
    4.     public static void main(String[] args) throws IOException {  
    5.         // TODO Auto-generated method stub  
    6.         InputStream inputStream = Resources.getResourceAsStream(resource);  
    7.         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);  
    8.         SqlSession session = sqlSessionFactory.openSession();  
    9.         try {  
    10.             //User.selectUser中User对应UserMapper.xml文件中标签<mapper namespace="User"> namespace的值  
    11.             //selectUser 对应UserMapper.xml文件中标签<select id="selectUser" parameterType="int" resultType="com.jefry.User">中id值  
    12.             User user = session.selectOne("user.selectUser", 1);  
    13.             System.out.println("user.getName()=" +  user.getPassword());  
    14.               
    15.             User addUser = new User();  
    16.             addUser.setUserName("NEWWWWW");  
    17.             addUser.setPassword("111111");  
    18.             session.insert("user.addUser", addUser);  
    19.               
    20.             //插入操作  
    21.             User modifyUser = new User();  
    22.             modifyUser.setUserName("NEWWWWW");  
    23.             modifyUser.setPassword("111111");  
    24.             modifyUser.setId(1);  
    25.               
    26.             //修改用户  
    27.             session.update("user.modifyUser", addUser);  
    28.               
    29.             //删除操作  
    30.             session.delete("user.deleteUser",2);  
    31.               
    32.             //这里必须commit,否则增删改无效  
    33.             session.commit();  
    34.               
    35.             //与hibernate一样,插入数据后会把id值赋值给缓存中的id  
    36.             System.out.println("addUser.getId()" + addUser.getId() );  
    37.               
    38.         } finally {  
    39.             session.close();  
    40.         }  
    41.     }  
    42.   
    43. }
  • 相关阅读:
    两个三汇API使用的坑
    呼叫中心系统架构
    呼叫中心搭建的前期准备步骤
    呼叫中心基础知识
    一步一步开发呼叫中心
    富文本框保存和显示问题
    WebApi和Andriod对接上传和下载文件
    WebApi和Andriod对接访问模式问题
    Sql Server Report Service 的部署问题
    Web API 路由访问设置
  • 原文地址:https://www.cnblogs.com/shijiaoyun/p/5157530.html
Copyright © 2020-2023  润新知