ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MyBatis-statement方式的增删改查

2020-06-26 14:51:33  阅读:244  来源: 互联网

标签:student1 改查 SqlSession session statement reader MyBatis org


复习第一个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();

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

 

标签:student1,改查,SqlSession,session,statement,reader,MyBatis,org
来源: https://www.cnblogs.com/mayouyou/p/13194997.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有