mybatis的文件配置与使用

本文详细介绍了MyBatis框架的配置步骤,包括创建Maven工程、配置pom.xml、设置数据库连接、编写XML文件以及实现数据访问接口。通过MyBatis,开发者可以自定义SQL、存储过程和高级映射,简化数据库访问。文中还提供了测试代码以验证配置的正确性。
摘要由CSDN通过智能技术生成

MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架,使用mybatis框架能让我们更容易的访问数据库的DAL(数据访问)层。
mybatis使用的配置步骤
1.创建一个maven工程
在这里插入图片描述
2.配置pom.xml文件 导入依赖资源包
需要导入的jar包有mysql,mybatis 两个基础jar包 mysql 包用于连接数据库操作,版本可以根据本机安装的mysql版本选择,mybatis框架顾名思义也需要mybatis包,版本可以选用最新的版本,因为mybatis包一般都有很强大的向下兼容性。
(在pom.xml下配置下列代码,会自动导入依赖,如果不成功,可以maven 然后点击刷新下载并导入所需的依赖包。)

  <!-- 导入依赖-->
    <dependencies>
    <!--  mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.24</version>
        </dependency>
    <!--  mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency> 

3.编写xml文件配置连接数据库
environments 标签里的为配置连接数据库,
environments 里可以有多个environment标签,可以使用多种方式连接数据库,但是每次连接使用使用一种,通过属性default来绑定要使用的连接方式,
mappers 为绑定要执行sql语句的xml文件的位置
也可以使用<package 标签 属性name绑定对应的包的路径,来绑定包内的所有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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="aaaa"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/kuang/dao/UserMapper.xml"/>
    </mappers>
</configuration>

4.可以编写一个帮助类加载mybatis-config.xml文件(即配置连接数据库的文件)
这样可以用过帮助类直接获取到sqlSession 对象,便于直接执行需要运行的接口中的方法

public class MybatisUtlis {
    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            //使用mybatis 第一步: 获取sqlSessionFactory 对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
    // SqlSession 完全包含了面向数据库执行 SQL命令所需要的所有方法
    public static SqlSession getSqlSession(){
        SqlSession sqlSession = sqlSessionFactory.openSession();
        return sqlSession;
    }

}

5.编写xml文件执行sql语句
mapper 中的属性namespace绑定的为要执行规范的接口路径,标签里可以包含要执行的sql语句对应的标签,例如:select查询语句就需要select标签,id绑定的对应的方法,根据方法可以确定是否有返回值,是否有参数,如果有参数的话可以使用parameterType或者parameterMap属性注入,返回值可以使用resultType,resultMap等接收,视情况使用;注意这里的参数注入匹配sql语句需要使用#{ value }而不会使用${ value } 这样可以有效的避免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 namespace="com.kuang.dao.UserMapper">
    <select id="getUserList" resultType="com.kuang.pojo.User">
    select * from user
  </select>
    <select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
        select * from user where id=#{id}
    </select>
    <insert id="addUser" parameterType="com.kuang.pojo.User">
        insert into user (uname,pwd) values(#{uname},#{pwd})
    </insert>
    
    <update id="updateUser" parameterType="com.kuang.pojo.User">
        update user set uname=#{uname},pwd=#{pwd}  where id=#{id}
    </update>

    <delete id="deleteUser" parameterType="int">
        delete from user where id=#{id}
    </delete>
</mapper>

6.最后,编写我们所需要的接口

public interface UserMapper {
    //获取全部用户
    List<User> getUserList();
//    //根据id查询用户
    User getUserById(int id);
    //插入用户
    int addUser(User user);
    //修改用户
    int updateUser(User user);
    //删除用户
    int deleteUser(int id);
}

mybatis-config.xml升级:可以通过db.properties文件加载数据库相关信息;mybatis-config.xml还可以配置别名,驼峰式命名等信息详情可以查看官网 mybatis
不过要注意的是配置标签的先后关系

<environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

附:
1.User类


public class User {
    private int id;
    private String uname;
    private String pwd;

    public User() {
    }

    public User(String uname, String pwd) {
        this.uname = uname;
        this.pwd = pwd;
    }

    public User(int id, String uname, String pwd) {
        this.id = id;
        this.uname = uname;
        this.pwd = pwd;
    }

    public int getId() {
        return id;
    }

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

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", uname='" + uname + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}

2.测试代码(如果需要这段测试代码还得加入junit包,否则可以直接使用main方法测试)

  @Test
    public void test3(){
        SqlSession sqlSession = MybatisUtlis.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int res = mapper.addUser(new User("哈哈", "678678"));
        if(res>0){
            System.out.println("成功");
        }

        sqlSession.commit();
        sqlSession.close();
    }
    }

总结mybatis使用步骤:
配置pom.xml —> 配置 mybatis.xml连接数据库 —> 加载mybatis.xml文件,获得sqlSessionFactory,通过sqlSessionFactory获取sqlSession实例 —> 编写执行sql代码相关的xml文件和相关接口 —>测试(完成)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值