maven+mybatis 入门操作手册

1.首先创建一个maven的webapp项目,下图是整体项目结构!!

在这里插入图片描述

2.在pom.xml文件中引入mybatis相关依赖包

注:下面截图中最上面两个是使用mybatis连接mysql数据库所用到的依赖包,log4j是输出日志的依赖包,junit是单元测试的依赖包,fastjson是为了把解析查询出的数据对象转成json格式。
在这里插入图片描述

3.进行连接数据库的配置操作(ps:数据库的源不直接写在config.xml文件中,而是从properties文件中读取),在resources文件夹下新建db/db.properties和spring/mybatis-spring.xml文件。

db.properties文件

jdbc.driverName = com.mysql.jdbc.Driver
jdbc.url2 = jdbc:mysql://127.0.0.1:3306/test?
username = root
password = 123456

mybaties-spring.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>

    <!--指定数据库的配置文件-->
    <properties resource="props/db.properties" />

   <environments default = "mysql">
        <!--环境配置,即连接的数据库-->
        <environment id = "mysql">
            <!--指定事务管理类型,type="jdbc"指直接简单使用了jdbc的提交和回滚设置-->
            <transactionManager type = "JDBC" />
            <!--datasource 指数据源的配置,POOLED是JDBC连接对象的数据源连接池的实现-->
            <dataSource type = "POOLED" >
                <property name="driver" value="${jdbc.driverName}"/>
                <property name="url" value="${jdbc.url2}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>

    <!--mappers 告诉了mybatis去哪里找持久化类的映射文件-->
    <mappers>
        <mapper resource="mapper/AccountMapper.xml"/>
    </mappers>

<!--    <mappers>-->
<!--        <mapper class="com.mybatis.mappers.AccountMapper"/>-->
<!--    </mappers>-->

</configuration>
4.在src/main下新建dao/AccountMapper接口文件,用于定义操作的接口,在src/main下新建vo/AccountVo文件,用于接口查询返回的对象值.

AccountMapper接口文件

package com.mybatis.dao;

import com.mybatis.vo.AccountVo;

public interface AccountMapper {

    public AccountVo queryUserByName(String name);
}

AccountVo对象文件

package com.mybatis.vo;

import java.util.Date;

public class AccountVo {
    private String id;
    private String Name;
    private String sex;
    private Date createDate;

    public String getId() {
        return id;
    }

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

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
}

5.创建AccountMapper对应的xml映射文件(注:dao下的接口名字和xml的名字以及namesapace的名字保持一致,防止出现报错,虽然文档里写的namespace只要唯一即可,但是实际执行会报错)

AccountMapper.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:命名空间,随便写,一般保证命名空间唯一 -->
<mapper namespace="AccountMapper">
    <!-- statement,内容:sql语句。id:唯一标识,随便写,在同一个命名空间下保持唯一
       resultType:sql语句查询结果集的封装类型,tb_user即为数据库中的表
     -->
    <select id="queryUserByName" resultType="com.mybatis.vo.AccountVo" parameterType="String">
      select * from user where name = #{name}
   </select>
</mapper>
6.编写测试类进行验证
import com.alibaba.fastjson.JSON;
import com.mybatis.vo.AccountVo;
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;

public class MybatisTest {


    @Test
    public void tt() throws IOException {

        // 读取mybatis-config.xml配置文件
        InputStream inputStream = Resources.getResourceAsStream("spring/mybatis-config.xml");
        // 初始化mybaties,创建sqlSessionFactory类的实例对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 创建session实例
        SqlSession sqlSession = sqlSessionFactory.openSession();

        AccountVo accountVo = sqlSession.selectOne("AccountMapper.queryUserByName","xiaoming");

        System.out.println("accountVo:"+ JSON.toJSONString(accountVo));
        sqlSession.close();

    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值