Mybatis框架的搭建

1.首先导入jar包

log4j、Mybatis、mysql驱动

2.在根目录下创建Mybatis-config.xml配置文件

log4j.properties
配置文件代码

<?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中修改即可
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            //数据源用的较多的是druid,在此使用的是默认的连接池
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/jiege" />
                <property name="username" value="root" />
                <property name="password" value="293476" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
     <mapper resource="com/jiege/mapper/StudentMapper.xml" />
    </mappers>
</configuration>
==========================================================================
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n码片

3.在src下创建三个包

domain(领域模型)、mapper(映射配置)、test(测试类)
一个domain对应一个mapper.xml
domain代码

package com.jiege.domain;

public class Student {
    private String id;
    private String name;
    private int age;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

Student-mapper.xml在这个文件中写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">
<!--不同的mapper映射文件使用mapperspace来区分
        -->
<mapper namespace="test1">
    <!--
        <insert>
        <update>
        <delete>
        <select>
    -->
    <select id="getById"  parameterType="java.lang.String" resultType="com.jiege.domain.Student">
        select * from tbl_Student where id=#{id}
    </select>
    <!--
        如果返回的是多条记录,应该返回的是集合的泛型
        select中
        id必须写
        parameterType可以不写
        resultType必须写
        对于其他的3个标签,
        id必须写,但是
        parameterType可以不写
        resultType可以不写
    -->
    <select id="getAll" resultType="com.jiege.domain.Student">
        select * from tbl_Student
    </select>
    <insert id="save" >
        insert into tbl_Student(id,name,age) values(#{id},#{name},#{age})
    </insert>
</mapper>

测试

package com.jiege.test;

import com.jiege.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 java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        String resource = "mybatis-config.xml";
        InputStream inputStream = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
        } catch (IOException e) {
            e.printStackTrace();
        }
        SqlSessionFactory sqlSessionFactory =
                new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session=sqlSessionFactory.openSession();
        /**
         * 需求根据id查单条
         * 参数1:根据命名空间.sqlId的形式找到我们需要使用的sql语句
         * 参数2:我们要为sql语句中传递的参数
         */
        Student s=session.selectOne("test1.getById","A0001");
        System.out.println(s);
        //session.close();
        //查询学生信息表的所有记录
        List<Student> slist=session.selectList("test1.getAll");
        for (Student student:slist
             ) {
            System.out.println(student);
        }
        //session.close();
        //添加操作
        Student s1=new Student();
        s1.setId("A0004");
        s1.setName("蔡徐坤");
        s1.setAge(50);
        session.insert("test1.save",s1);
        session.commit();
        session.close();
        //默认手动提交事务


    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值