zoukankan      html  css  js  c++  java
  • idea使用mybatis写增删改查

      idea应用mybatis写增删改查

        entity层  

    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;

    public Integer getId() {
    return id;
    }

    public void setId(Integer id) {
    this.id = id;
    }

    public String getUserCode() {
    return userCode;
    }

    public void setUserCode(String userCode) {
    this.userCode = userCode;
    }

    public String getUserName() {
    return userName;
    }

    public void setUserName(String userName) {
    this.userName = userName;
    }

    public String getUserPassword() {
    return userPassword;
    }

    public void setUserPassword(String userPassword) {
    this.userPassword = userPassword;
    }

    public Integer getGender() {
    return gender;
    }

    public void setGender(Integer gender) {
    this.gender = gender;
    }

    public Date getBirthday() {
    return birthday;
    }

    public void setBirthday(Date birthday) {
    this.birthday = birthday;
    }

    public String getPhone() {
    return phone;
    }

    public void setPhone(String phone) {
    this.phone = phone;
    }

    public String getAddress() {
    return address;
    }

    public void setAddress(String address) {
    this.address = address;
    }

    public Integer getUserRole() {
    return userRole;
    }

    public void setUserRole(Integer userRole) {
    this.userRole = userRole;
    }

    public Integer getCreatedBy() {
    return createdBy;
    }

    public void setCreatedBy(Integer createdBy) {
    this.createdBy = createdBy;
    }

    public Date getCreationDate() {
    return creationDate;
    }

    public void setCreationDate(Date creationDate) {
    this.creationDate = creationDate;
    }

    public Integer getModifyBy() {
    return modifyBy;
    }

    public void setModifyBy(Integer modifyBy) {
    this.modifyBy = modifyBy;
    }

    public Date getModifyDate() {
    return modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
    this.modifyDate = modifyDate;
    }

        Dao层

          

    IUserDao:(Interface
          
    //查询
    public List<User> getAllUser();
    //新增
    void addUser(User user);
    //删除
    void delUser(int id);
    //修改
    void modifyUser(User user);
    //新增时获得主键
    void addUserKey(User user);
    //模糊查询
    public List<User> getAllUsers();

    
    
    IUserDao:(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">

    <!--namespace需要指向接口全路径-->

    <mapper namespace="com.qzy.dao.IUserDao">

    <!--id代表当前命名空间下(接口下)的唯一方法名 resultType代表返回值类型-->


    <select resultType="User" id="getAllUser">
    select * from smbms_user
    </select>

    <insert parameterType="User" id="addUser">
    insert into smbms_user values (DEFAULT,#{userCode},#{userName},#{userPassword},#{gender},#{birthday},#{phone},#{address},#{userRole},#{createdBy},#{creationDate},#{modifyBy},#{modifyDate})
    </insert>

    <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>

    <delete id="delUser">
    delete from smbms_user where id=#{xxx}
    </delete>

    <update id="modifyUser" parameterType="User">
    update smbms_user set userName=#{userName} where id=#{id}
    </update>

    <select id="getAllUsers" resultType="User">
    select * from smbms_user where userName like '%${value}%';
    </select>
    </mapper>
    resources层
    mybatis-config.(xml)
    <?xml version="1.0" encoding="UTF-8" ?>

    省略......
    <typeAliases>
    <!--单个设置别名-->
    <!-- <typeAlias type="com.qzy.entity.User" alias="User"/>-->

    <!--全局设置别名-->
    <package name="com.qzy.entity"/>
    </typeAliases>
    <!--log4j配置文件的读取(可以不写)-->
    <settings>
    <setting name="logImpl" value="LOG4J"/>
    </settings>
    省略......
    </configuration>
    tset层
    tset(class
    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();
    }


    @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();
    }

    log4j.(
    properties)
    ### 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

    ### 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

    ### set log levels - for more verbose logging change 'info' to 'debug' ###
    ###log4j.rootLogger=debug, stdout,file
    log4j.logger.com.qzy.dao=debug, stdout,file
  • 相关阅读:
    129. Sum Root to Leaf Numbers
    113. Path Sum II
    114. Flatten Binary Tree to Linked List
    112. Path Sum
    100. Same Tree
    300. Longest Increasing Subsequence
    72. Edit Distance
    自定义js标签库
    JS 实现Table相同行的单元格自动合并示例代码
    mysql 高版本only_full_group_by 错误
  • 原文地址:https://www.cnblogs.com/rzbwyj/p/11603955.html
Copyright © 2011-2022 走看看