zoukankan      html  css  js  c++  java
  • 二.Mybatis 增删改查

    Student.java
    package com.pojo;
    
    import java.util.Date;
    
    public class Student {
        int stuid;
        String stuName;
        int stuAge;
        Date stuDate;
        String stuSex;
        String stuProfess;
        String status;
        String professName;
        
        
        public int getStuid() {
            return stuid;
        }
        public void setStuid(int stuid) {
            this.stuid = stuid;
        }
        public String getStuName() {
            return stuName;
        }
        public void setStuName(String stuName) {
            this.stuName = stuName;
        }
        public int getStuAge() {
            return stuAge;
        }
        public void setStuAge(int stuAge) {
            this.stuAge = stuAge;
        }
        public Date getStuDate() {
            return stuDate;
        }
        public void setStuDate(Date stuDate) {
            this.stuDate = stuDate;
        }
        public String getStuSex() {
            return stuSex;
        }
        public void setStuSex(String stuSex) {
            this.stuSex = stuSex;
        }
        public String getStuProfess() {
            return stuProfess;
        }
        public void setStuProfess(String stuProfess) {
            this.stuProfess = stuProfess;
        }
        public String getStatus() {
            return status;
        }
        public void setStatus(String status) {
            this.status = status;
        }
        public String getProfessName() {
            return professName;
        }
        public void setProfessName(String professName) {
            this.professName = professName;
        }
        
    }
      IStudentDAO.java
          
        使用合理描述参数和SQL语句返回值的接口(比如IStudentDAO.class),这样更简单,更安全的代码,便于和其他优秀框架结合
    package com.dao;
    
    import com.pojo.Student;
    
    public interface IStudentDAO {
        Student getStudentById(int stuid);
        
        void addStudent(Student stu);
        
        void delStudent(int id);
    
        void updateStudent(int id);
    }

      Student.xml

        这里的 id="addStudent" 要和IStudentDAO.java接口中的方法名一致

        resultType="student"为实体类在Configuration.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="com.dao.IStudentDAO">
        <select id="getStudentById" parameterType="int" resultType="student">
            select a.*,b.professname from student a,profess b where a.stuprofess=b.proid and stuid=#{id}    
        </select>
        <insert id="addStudent" parameterType="com.pojo.Student" keyProperty="stuid">
            insert into student values(#{stuid},#{stuName},#{stuAge},#{stuDate},#{stuSex,jdbcType=CHAR},#{stuProfess})
        </insert>
        <delete id="delStudent" parameterType="int">
            delete from student where stuid=#{id}
        </delete>
        <update id="updateStudent" parameterType="int">
            update student set stuName=#{stuName} where stuid=#{id}
        </update>
    </mapper>

      测试代码 

        Test.java
    package com.pojo;
    
    import java.io.IOException;
    import java.io.Reader;
    import java.util.Date;
    
    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 com.dao.IStudentDAO;
    
    public class Test {
        public static void main(String[] args) throws IOException {
            //读取核心的配置文件
            Reader reader = Resources.getResourceAsReader("Configuration.xml");
            //创建会话工厂
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
            //数据库会话
            SqlSession session = factory.openSession();
            //查询一个对象  第一个参数字符串是由Student.xml 中的namespace+id组成
    //        Student stu = session.selectOne("com.dao.StudentMapper.getStudentById",5);
            
            //通过接口的方式
            IStudentDAO stuDAO = session.getMapper(IStudentDAO.class);
    //        Student stu = stuDAO.getStudentById(5);
    //        
    //        System.out.println(stu.getStuName());
    //        System.out.println(stu.getStuDate());
    //        System.out.println(stu.getProfessName());
            
            //测试新增
            Student stu = new Student();
            stu.setStuid(16);
            stu.setStuName("测试新增");
            stu.setStuDate(new Date());
    //        stu.setStuSex("1");
    //        stu.setStuProfess("1");
    //        stuDAO.addStudent(stu);
            
            //测试删除
            stuDAO.delStudent(16);
            session.commit();
            session.close();
        }
    }
  • 相关阅读:
    Perl的运算符号字符
    windows xp 使用远程桌面时的关机/重新启动方法
    抵御TCP的洪水
    远程桌面连接中的常见问题 连接上就断开
    批量kill mysql进程
    Linux如何查看硬盘型号和缓存
    Apache Rewrite 规则详解
    nginx 内置变量大全
    大数据量分页存储过程效率测试附代码
    ASP.Net 更新页面输出缓存的几种方法(包括用户控件,iframe,页面缓存等)
  • 原文地址:https://www.cnblogs.com/wlxslsb/p/10795119.html
Copyright © 2011-2022 走看看