idea应用mybatis写增删改查

    entity层  

  1. private Integer id;
    private String userCode;
    private String userName;
    private String userPassword;
    private Integer gender;
    private Date birthday;
    private String phone;
    private String address;
    private Integer userRole;
    private Integer createdBy;
    private Date creationDate;
    private Integer modifyBy;
    private Date modifyDate;
  2.  
  3. public Integer getId() {
    return id;
    }
  4.  
  5. public void setId(Integer id) {
    this.id = id;
    }
  6.  
  7. public String getUserCode() {
    return userCode;
    }
  8.  
  9. public void setUserCode(String userCode) {
    this.userCode = userCode;
    }
  10.  
  11. public String getUserName() {
    return userName;
    }
  12.  
  13. public void setUserName(String userName) {
    this.userName = userName;
    }
  14.  
  15. public String getUserPassword() {
    return userPassword;
    }
  16.  
  17. public void setUserPassword(String userPassword) {
    this.userPassword = userPassword;
    }
  18.  
  19. public Integer getGender() {
    return gender;
    }
  20.  
  21. public void setGender(Integer gender) {
    this.gender = gender;
    }
  22.  
  23. public Date getBirthday() {
    return birthday;
    }
  24.  
  25. public void setBirthday(Date birthday) {
    this.birthday = birthday;
    }
  26.  
  27. public String getPhone() {
    return phone;
    }
  28.  
  29. public void setPhone(String phone) {
    this.phone = phone;
    }
  30.  
  31. public String getAddress() {
    return address;
    }
  32.  
  33. public void setAddress(String address) {
    this.address = address;
    }
  34.  
  35. public Integer getUserRole() {
    return userRole;
    }
  36.  
  37. public void setUserRole(Integer userRole) {
    this.userRole = userRole;
    }
  38.  
  39. public Integer getCreatedBy() {
    return createdBy;
    }
  40.  
  41. public void setCreatedBy(Integer createdBy) {
    this.createdBy = createdBy;
    }
  42.  
  43. public Date getCreationDate() {
    return creationDate;
    }
  44.  
  45. public void setCreationDate(Date creationDate) {
    this.creationDate = creationDate;
    }
  46.  
  47. public Integer getModifyBy() {
    return modifyBy;
    }
  48.  
  49. public void setModifyBy(Integer modifyBy) {
    this.modifyBy = modifyBy;
    }
  50.  
  51. public Date getModifyDate() {
    return modifyDate;
    }
  52.  
  53. public void setModifyDate(Date modifyDate) {
    this.modifyDate = modifyDate;
    }

    Dao层

      

  1. IUserDao:(Interface
  1.       
  1. //查询
    public List<User> getAllUser();
    //新增
    void addUser(User user);
    //删除
    void delUser(int id);
    //修改
    void modifyUser(User user);
    //新增时获得主键
    void addUserKey(User user);
    //模糊查询
    public List<User> getAllUsers();
  1.  
  1. IUserDao:(xml
  1. <?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">
  2.  
  3. <!--namespace需要指向接口全路径-->
  4.  
  5. <mapper namespace="com.qzy.dao.IUserDao">
  6.  
  7. <!--id代表当前命名空间下(接口下)的唯一方法名 resultType代表返回值类型-->
  8.  
  9. <select resultType="User" id="getAllUser">
    select * from smbms_user
    </select>
  10.  
  11. <insert parameterType="User" id="addUser">
    insert into smbms_user values (DEFAULT,#{userCode},#{userName},#{userPassword},#{gender},#{birthday},#{phone},#{address},#{userRole},#{createdBy},#{creationDate},#{modifyBy},#{modifyDate})
    </insert>
  12.  
  13. <insert id="addUserKey" parameterType="com.qzy.entity.User" useGeneratedKeys="true" keyProperty="id">
    insert into smbms_user values (DEFAULT,#{userCode},#{userName},#{userPassword},#{gender},#{birthday},#{phone},#{address},#{userRole},#{createdBy},#{creationDate},#{modifyBy},#{modifyDate})
    </insert>
  14.  
  15. <delete id="delUser">
    delete from smbms_user where id=#{xxx}
    </delete>
  16.  
  17. <update id="modifyUser" parameterType="User">
    update smbms_user set userName=#{userName} where id=#{id}
    </update>
  18.  
  19. <select id="getAllUsers" resultType="User">
    select * from smbms_user where userName like '%${value}%';
    </select>
    </mapper>
  1. resources
    mybatis-config.(xml)
  1. <?xml version="1.0" encoding="UTF-8" ?>

  1. 省略......
  1. <typeAliases>
    <!--单个设置别名-->
    <!-- <typeAlias type="com.qzy.entity.User" alias="User"/>-->
  2.  
  3. <!--全局设置别名-->
    <package name="com.qzy.entity"/>
    </typeAliases>
    <!--log4j配置文件的读取(可以不写)-->
  1. <settings>
    <setting name="logImpl" value="LOG4J"/>
    </settings>
  1. 省略......
  1. </configuration>
    tset层
    tset(class)
  1. private static Logger log = Logger.getLogger(Test.class.getClass());
    SqlSession sqlSession;
    @Before
    public void before() throws IOException {
    //System.out.println("执行之前========================");
    log.info("执行之前========================");
    //步骤一:读取大配置文件
    String source="mybatis-config.xml";
    InputStream is = Resources.getResourceAsStream(source);
    //步骤二:创建工厂
    SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
    //步骤三:创建SqlSession核心对象
    sqlSession = factory.openSession();
    }
  2.  
  3. @Test
    public void selectAllTest() throws IOException {
    //步骤四:查
    List<User> getAllUser = sqlSession.selectList("getAllUser");
    for (User user:getAllUser) {
    //System.out.println(user.getUserName());
    log.info(user.getUserName());
    }
    }
    //模糊
    @Test
    public void getAllUsers() throws IOException{
    List<User> userList=sqlSession.selectList("com.qzy.dao.IUserDao.getAllUsers","孙");
    for (User u:userList){
    ///System.out.println(u.getUserName());
    log.info(u.getUserName());
    }
    }
    //增
    @Test
    public void addUser() throws IOException{
    User user =new User();
    user.setUserCode("hehe");
    user.setUserName("牛皮呀");
    user.setUserPassword("123123");
    user.setGender(2);
    user.setBirthday(new Date());
    user.setPhone("13215689594");
    user.setAddress("北京市海淀区五道口北大青鸟");
    user.setUserRole(2);
    user.setCreatedBy(1);
    user.setCreationDate(new Date());
    user.setModifyBy(null);
    user.setModifyDate(null);
    sqlSession.insert("com.qzy.dao.IUserDao.addUser",user);
    sqlSession.commit();
    //查看是否会返回自增的主键
    //System.out.println(user.getId());
    log.info(user.getId());
    }
    //删
    @Test
    public void delUser() throws IOException{
    sqlSession.delete("com.qzy.dao.IUserDao.delUser","17");
    sqlSession.commit();
    sqlSession.close();
    //System.out.println("删除成功!");
    log.info("删除成功!");
    }
    //改
    @Test
    public void modifyUser() throws IOException{
    User user=new User();
    user.setUserName("安其拉");
    user.setId(16);
    sqlSession.update("com.qzy.dao.IUserDao.modifyUser",user);
    sqlSession.commit();
    sqlSession.close();
    //System.out.println("更改成功!");
    log.info("更改成功!");
    }
    @After
    public void after(){
    //System.out.println("执行之后====================================");
    log.info("执行之后========================");
    //最后关闭sqlSession释放资源
    sqlSession.close();
    }
  1. log4j.(properties)
  1. ### direct log messages to stdout ###
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
  2.  
  3. ### direct messages to file mylog.log ###
    log4j.appender.file=org.apache.log4j.FileAppender
    ###日志文件的了路径###
    log4j.appender.file.File=G:\\mylog.log        
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
  4.  
  5. ### set log levels - for more verbose logging change 'info' to 'debug' ###
    ###log4j.rootLogger=debug, stdout,file
    log4j.logger.com.qzy.dao=debug, stdout,file

idea增删改查的更多相关文章

  1. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  2. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  4. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  5. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  6. 使用 Json.Net 对Json文本进行 增删改查

    JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...

  7. yii2 增删改查

    自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...

  8. Batis-iBatis基本操作(增删改查)

    Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20  CSDN博客 原文  http://blog.csdn.net/mazhaojuan/article/de ...

  9. JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)

    前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...

  10. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一)

    前言:出于某种原因,需要学习下Knockout.js,这个组件很早前听说过,但一直没尝试使用,这两天学习了下,觉得它真心不错,双向绑定的机制简直太爽了.今天打算结合bootstrapTable和Kno ...

随机推荐

  1. Centos610快照克隆后网络配置

    VMware中安装的Centos610快照并克隆后网络配置 1.网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR ...

  2. 数据结构--Java语言描述

    本篇文章是为了记录自己在学习数据结构时的笔记,会对常见的数据结构做基本的介绍以及使用Java语言进行实现.包括 动态数组 栈 队列 链表 二分搜索树 优先队列和堆 线段树 Trie树 并查集 AVL树 ...

  3. 【代码学习】PYTHON字符串的常见操作

    一.字符串运算符 下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python": 操作符 描述 实例 + 字符串连接 >>>a ...

  4. h5页面判断移动端系统为Android或IOS

    最近遇到了一个需求,即所谓的 app+web 混合开发,需要将 h5 内嵌到 APP 中,这个时候因为要对 Android 和 IOS 有不同的处理逻辑,所以我们就需要判断一下,移动端的系统到时是哪一 ...

  5. 18 JavaScript字符串方法

    indexOf():从头到尾进行检索.返回指定文本在字符串最后一次出现的索引,否则返回-1.可以指定第二个参数作为起始位置. lastIndexOf:从尾到头进行检索.返回指定文本最后出现的位置,否则 ...

  6. Passive Client Feature

    Q. How is the passive client feature used on Wireless LAN Controllers? A. Passive clients are wirele ...

  7. mybatis源码探索笔记-4(缓存原理)

    前言 mybatis的缓存大家都知道分为一级和二级缓存,一级缓存系统默认使用,二级缓存默认开启,但具体用的时候需要我们自己手动配置.我们依旧还是先看一个demo.这儿只贴出关键代码 public in ...

  8. Codeforces Round #588 (Div. 2)E(DFS,思维,__gcd,树)

    #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;long long a[100007];vec ...

  9. Nginx Rewrite域名及资源重定向!(重点)

    第一步:搭建Nginx服务 第二步:修改主配置文件 [root@ns2 ~]# vim /usr/local/nginx/conf/nginx.conf user  nginx nginx; work ...

  10. MBR扇区故障修复!

    一:进行分区且格式化硬盘 [root@roomc~]#mkfs -t ext4 /dev/sdb1    //格式化sdb1盘 二:模拟破坏/sda主硬盘破坏再修复! [root@roomc~]#mk ...