第一个MyBatis练习

创建实体类Student

package com.it.domain;

public class Student {
private int sno;
private String sname;
private String ssex;
private int sage;
private String sdept;

    public int getSno() {
        return sno;
    }

    public void setSno(int sno) {
        this.sno = sno;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getSsex() {
        return ssex;
    }

    public void setSsex(String ssex) {
        this.ssex = ssex;
    }

    public int getSage() {
        return sage;
    }

    public void setSage(int sage) {
        this.sage = sage;
    }

    public String getSdept() {
        return sdept;
    }

    public void setSdept(String sdept) {
        this.sdept = sdept;
    }

    @Override
    public String toString() {
        return "Student{" +
                "sno=" + sno +
                ", sname='" + sname + '\'' +
                ", ssex='" + ssex + '\'' +
                ", sage=" + sage +
                ", sdept='" + sdept + '\'' +
                '}';
    }
}

创建StudenDao接口

package com.it.dao;

import com.it.domain.Student;

import java.util.List;

public interface StudentDao {

    //查询student表的所有数据
    public List<Student> selectStudents();
    //插入数据
    //student,表示要插入数据库中的数据;int,表示执行插入操作后影响的数据库行数。
    public int insertStudent(Student student);

}

创建接口映射文件.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.it.dao.StudentDao">
<!--select标签中的id对应的是接口中方法的名字,
resultType对应的是返回的类型-->
<!-- 注意select标签中不要写注释,会导致程序无法正常运行-->
    <select id="selectStudents" resultType="com.it.domain.Student">
        select * from student order by sno
    </select>
    <insert id="insertStudent">
        insert into student values (#{sno},#{sname},#{ssex},#{sage},#{sdept})
    </insert>
</mapper>

<!--
这是sql映射文件:写sql语句的,mybatis会执行这些sql
1.执行约束文件。
2.约束文件的作用,用来检查当前文件中出现的标签,必须符合mybatis的要求。
-->

创建mybatis.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>
<!-- settings:控制mybatis全局行为-->
    <settings>
<!-- setting:设置mybatis输入日志的-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <environments default="mydev">
        <environment id="mydev">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
<!-- 获取接口的mapper映射文件,当前写的路径是mapper文件编译后的路径-->
        <mapper resource="com/it/dao/StudentDao.xml"/>
    </mappers>
</configuration>
<!--
当前文件是mgbatis的主配置文件,主要定义了数据库的配置信息和,sql映射文件的位置。
-->

创建测试文件

package com.it;

import com.it.domain.Student;
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 org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class TestMybatis {
        @Test
        public void testInsert(){
                String config="mybatis.xml";
                InputStream inputStream = null;
                try {
                        inputStream = Resources.getResourceAsStream(config);
                } catch (IOException e) {
                        e.printStackTrace();
                }
                SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
                SqlSessionFactory factory=builder.build(inputStream);
                SqlSession sqlSession=factory.openSession(true);
                String sqlId="com.it.dao.StudentDao.insertStudent";
                Student student=new Student();

                student.setSage(20);
                student.setSdept("信电");
                student.setSno(6);
                student.setSname("小花");
                student.setSsex("女");

                int insert = sqlSession.insert(sqlId, student);
//                sqlSession.commit();
                System.out.println("执行insert的结果= "+insert);
                sqlSession.close();
        }
}

查看数据库添加成功

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

做一道光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值