• MyBatis-statement方式的增删改查


    复习第一个Mybatis程序
    0.mybatis.jar ojdbc.jar
    1.conf.xml(数据库配置信息+映射文件)
    2.表-类映射文件
    3.测试类

    mybatis约定:
    输入参数parameterType和输出参数resultType只能有一个

    如果输入参数:是简单类型(八个基本类型+String) ,则可以使用任何占位符
    如果是对象类型,则必须是对象得属性#{属性名}

    输出参数:如果返回值类型是一个对象(如Student),则无论返回一个还是多个
    在resultType都是写成org.myy.entity.Student
    即resultType="org.myy.entity.Student1"

    注意事项;
    如果使用的事务方式为JDBC,则需要手工提交,即session.commit();

    所有的标签<select><delete>等,都必须有sql语句,但是sql参数值可选

    <?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.xml映射文件的唯一标识  -->
    <mapper namespace="org.myy.entity.studentMapper"><!--映射文件的路径  -->
        <!--后续通过namespace.id  -->
        <!--parameterType:输入参数的类型  
            resultType返回结果值得类型
        -->
        <select id="queryStudentByStuno" parameterType="int" resultType="org.myy.entity.Student1">
            select * from student1 where stuno=#{stuno}
        </select>
        
        <insert id="addStudent" parameterType="org.myy.entity.Student1">
            insert into student1(stuno,stuname,stuage,graname) values(#{stuNo},#{stuName},#{stuAge},#{graName})
        </insert>
        
        <delete id="deleteStudentByStuno" parameterType="int">
            delete from student1 where stuno=#{stuno}
        </delete>
        
        <update id="updateStudentByStuno" parameterType="org.myy.entity.Student1">
            update student1 set stuname=#{stuName},stuage=#{stuAge},graname=#{graName} where stuno=#{stuNo}
        </update>
        
        <select id="queryAllStudent" resultType="org.myy.entity.Student1">
        select * from student1
        </select>
    </mapper>

    test.java

    package org.myy.entity;
    
    import java.io.IOException;
    import java.io.Reader;
    import java.util.List;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    public class Test {
        //查询单个学生
        public static void queryStudentByStuno() throws IOException {
            //Connection - SqlSession操作Mybatis
                    //conf.xml->reader
                    Reader reader = Resources.getResourceAsReader("conf.xml");
                    //reader->sqlSession
                    
                    //可以通过build的第二参数 指定数据库环境
                    SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader,"development");
                    SqlSession session = sessionFactory.openSession();
                    
                    String statement="org.myy.entity.studentMapper.queryStudentByStuno";
                    Student1 student1 = session.selectOne(statement,1);
                    System.out.println(student1);
                    session.close();
        }
        //查询全部学生
        public static void queryAllStudent() throws IOException {
            //Connection - SqlSession操作Mybatis
                    //conf.xml->reader
                    Reader reader = Resources.getResourceAsReader("conf.xml");
                    //reader->sqlSession
                    //可以通过build的第二参数 指定数据库环境
                    SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader,"development");
                    SqlSession session = sessionFactory.openSession();
                    
                    
                    String statement="org.myy.entity.studentMapper.queryAllStudent";
                    List<Student1> student1s=session.selectList(statement);
                    System.out.println(student1s);
                    session.close();
        }
        //增加学生
        public static void addStudent() throws IOException {
            //Connection - SqlSession操作Mybatis
                    //conf.xml->reader
                    Reader reader = Resources.getResourceAsReader("conf.xml");
                    //reader->sqlSession
                    //可以通过build的第二参数 指定数据库环境
                    SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader,"development");
                    SqlSession session = sessionFactory.openSession();
                    
                    
                    String statement="org.myy.entity.studentMapper."+ "addStudent";//statement:指定执行的sql
                    Student1 student1=new Student1(3,"myy",200,"yym");
                    int count = session.insert(statement, student1);
                    session.commit();//提交事务
                    System.out.println("增加"+count+"个学生");
                    session.close();
        }
        //删除学生
        public static void deleteStudentByStuno() throws IOException {
            //Connection - SqlSession操作Mybatis
                    //conf.xml->reader
                    Reader reader = Resources.getResourceAsReader("conf.xml");
                    //reader->sqlSession
                    //可以通过build的第二参数 指定数据库环境
                    SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader,"development");
                    SqlSession session = sessionFactory.openSession();
                    
                    
                    String statement="org.myy.entity.studentMapper."+ "deleteStudentByStuno";//statement:指定执行的sql
                    int count = session.delete(statement, 3);
                    session.commit();//提交事务
                    System.out.println("删除"+count+"个学生");
                    session.close();
        }
        //修改学生
            public static void updateStudentByStuno() throws IOException {
                //Connection - SqlSession操作Mybatis
                        //conf.xml->reader
                        Reader reader = Resources.getResourceAsReader("conf.xml");
                        //reader->sqlSession
                        //可以通过build的第二参数 指定数据库环境
                        SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader,"development");
                        SqlSession session = sessionFactory.openSession();
                        
                        
                        String statement="org.myy.entity.studentMapper."+ "updateStudentByStuno";//statement:指定执行的sql
                        //修改的参数
                        Student1 student1=new Student1();
                        //修改哪个人
                        student1.setStuNo(2);
                        student1.setStuName("lss");
                        student1.setStuAge(9);
                        student1.setGraName("ss");
                        int count = session.update(statement, student1);
                        session.commit();//提交事务
                        System.out.println("修改"+count+"个学生");
                        session.close();
            }
        public static void main(String[] args) throws IOException {
            queryStudentByStuno();
            addStudent();
            queryAllStudent();
            deleteStudentByStuno();
            queryAllStudent();
            updateStudentByStuno();
            queryAllStudent();
        }
    }
  • 相关阅读:
    Python+Selenium隐式等待操作代码
    Python+Selenium显示等待操作代码
    Python+Selenium键盘的几种操作:send_keys(Keys.CONTROL,'a')
    Selenium find_element_by_css_selector定位输入框报selenium.common.exceptions.NoSuchElementException的解决方法
    Python+selenium 鼠标三种(双击/右击/悬浮)操作方式(附代码!!)
    Selenium之find_element_by_css_selector三种定位方法,附代码!
    《jmeter:菜鸟入门到进阶》系列
    软件测试最基础的的面试题目~
    .NET页面事件执行顺序
    如何在ashx处理页中获取Session值
  • 原文地址:https://www.cnblogs.com/mayouyou/p/13194997.html
Copyright © 2020-2023  润新知