Mybatis的两个xml配置文件和test文件

Dao中的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="org.example.Dao.StudentDao">
    <select id="GetStudentData" resultType="org.example.Entity.Student">
    select id,name,email,age from student
  </select>
<!--    select表示查询操作
        id:你要执行的sql语法的唯一标识,mybatis会使用这个id值来找到执行sql语句
           可以自定义,但是要求使用接口中的方法名
        resultType:表示结果类型的,是sql语句执行后得到的ResultSet,遍历这个ResultSet得到java对象的类型
        值写的类型是全限定名称
-->
</mapper>
<!--
    sql映射文件:写sql语句的,mybatis会执行这些sql
    1.指定约束文件
    <!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        mybatis-3-mapper.dtd是约束文件的名称,拓展名是dtd的
    2.约束文件作用:限制,检查在当前文件中出现的标签,属性必须符合mybatis的要求
    3.mapper 是当前文件的根标签,必须的。
    namespace:叫做命名空间,唯一的值,可以是自定义的字符串
              要求使用dao接口的全限定名称
    4.在当前文件中,可以使用特定的标签,表示数据库的特定操作。
    <select>:表示执行查询,select语句
    <update>:表示更新数据库的操作,就是在<update>标签中写的是update sql语句
    <insert>:表示插入,执行的insert语句
    <delete>:表示删除,执行的delete语句
-->

Resource中的xml文件代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--    环境配置:数据库的连接信息
        default:必须和某个environment的id值一样
        告诉Mybatis使用哪个数据库的连接信息。也就是访问哪个数据库
-->
    <environments default="online">
<!--      environment  一个数据库信息的配置
          id:一个唯一值,自定义,表示环境的名称。
-->
<!--        表示线上的数据库,是项目真实使用的库-->
        <environment id="online">
<!--            transactionManager:mybatis的事务类型
                type:JDBC(表示使用jdbc中的Connection对象的commit,rollback做事务处理)
-->
            <transactionManager type="JDBC"/>
<!--        dataSource表示数据源,连接数据库的
            type表示数据源的类型  POOLED表示使用连接池
  -->
            <dataSource type="POOLED">
<!--               driver,url,username,password 是固定的不能自定义-->
<!--                数据库的驱动类名-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--                连接数据库的url字符串-->
                <property name="url" value="jdbc:mysql://localhost:3306/syfwfl?"/>
<!--                访问数据库的用户名称-->
                <property name="username" value="root"/>
<!--                密码-->
                <property name="password" value="19980605"/>
            </dataSource>
        </environment>
    </environments>
<!--    sql mapper(sql映射文件)的位置-->
    <mappers>
<!--        一个mapper标签指定一个文件的位置 从类路径开始的路径信息  target/classes(类路径) 定位sql语句-->
        <mapper resource="org/example/Dao/StudentDao.xml"/>
    </mappers>
</configuration>
<!--
    mybatis的主配置文件:主要定义了数据库的配置信息,sql映射文件的位置
    1.约束文件
    <!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
    mybatis-3-config.dtd:约束文件的名称
    2.configuration:根标签  environments为环境配置
-->

测试文件代码,查找

 //访问mybatis
        //1.定义mybatis主配置文件名称,从类路径根开始(target/classes)
        String config="mybatis.xml";
        //2.读取这个config表示的文件
        try {
            InputStream input= Resources.getResourceAsStream(config);
            //3.创建了SqlSessionFactoryBuilder对象
            SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
            //4.创建SqlSessionFactory
            SqlSessionFactory factory=builder.build(input);
            //5.[重要]获取SqlSession对象,从SqlSessionFactory中获取
            SqlSession sqlSession= factory.openSession();
            //6.指定要执行的sql语句标识 sql映射文件中的namespace+"."+标签的id值、
            String sqlId="org.example.Dao.StudentDao"+"."+"GetStudentData";
            //7.执行sql语句,通过sqlId找到语句
            List<Student> studentList=sqlSession.selectList(sqlId);
            //8.输出结果
            studentList.forEach(System.out::println);
            //9.关闭sqlSession对象
            sqlSession.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

插入代码(接口有数据传入)
例如:public int UpdStuData(Student student);

        //访问mybatis
        //1.定义mybatis主配置文件名称,从类路径根开始(target/classes)
        String config="res.xml";
        //2.读取这个config表示的文件
        try {
            InputStream input= Resources.getResourceAsStream(config);
            //3.创建了SqlSessionFactoryBuilder对象
            SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
            //4.创建SqlSessionFactory
            SqlSessionFactory factory=builder.build(input);
            //5.[重要]获取SqlSession对象,从SqlSessionFactory中获取
            SqlSession sqlSession= factory.openSession();
            //6.指定要执行的sql语句标识 sql映射文件中的namespace+"."+标签的id值、
            String sqlId="Dao.StudentDao"+"."+"UpdStuData";
            //7.执行sql语句,通过sqlId找到语句
            Student student=new Student();
            student.setId(3);
            student.setName("王国熹");
            student.setAge(23);
            student.setEmail("fawfaw");
            int ret=sqlSession.insert(sqlId,student);
            sqlSession.commit();
            //8.输出结果
            System.out.println("修改成功"+ret+"条数据");
            //9.关闭sqlSession对象
            sqlSession.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

它的接口xml配置

    <update id="UpdStuData">
        insert into student values (#{id},#{name},#{email},#{age})
    </update>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

syf_wfl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值