Mybatis初识与使用

Mybatis的使用

1.初始化SqlSessionFactory对象

SqlSessionFactory对象需要从一个核心配置文件中构建,因此我们创建SqlSessionFactory对象之前需要先配置一个Mybatis核心配置文件

1新建一个普通java工程

右键新建一个源文件夹 resources

新建源文件夹中新建一个xml文件命名为Mybatis-config.xml

把下面代码复制在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.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/work524?useUnicode=true&amp;characterEncoding=utf-8"/><!--修改1 mysql work524库名  -->
        <property name="username" value="root"/><!--修改2mysql账号 -->
        <property name="password" value="root"/><!--修改3mysql密码 -->
      </dataSource>
    </environment>
  </environments>
  <mappers>
<!-- 将通过XML方式配置的mapper引入进来 -->
    <mapper resource="com/mybatis/mapper/StudentMapper.xml"/><!--修改4 mapper路径(包名)-->
    <!--<package name="com.mybatis.mapper"/>--><!--修改4 mapper路径这样写也可以在这个路径下的都可以不用一一配置了-->
  </mappers>
</configuration>

2.创建实体类和DAO层的接口(在Mybatis中叫Mapper)

新建包bean和mapper并创建实体类和Dao层接口

// 实体类
public class User {
    private String username;
    private String password;
    private Integer id;
    private String nickname;

    // setters and getters...
}

// DAO层接口
public interface IUserMapper {
    public List<User> queryAllUser();
    public void insertUser(User user);
}

3.编写Mapper对象的xml配置文XML格式的Mapper配置文件类似于接口的实现类,它指定了具体要执行的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">
<!-- namespace属性对应dao接口类的全名 -->
<mapper namespace="com.mybatis.mapper.UserMapper">
    <!-- select、insert的id属性对应接口中的方法名 -->
    <select id="queryAllUser" resultType="com.mybatis.bean.user">
        select * from user
     </select>

    <insert id="insertUser">
      insert into user (username,nick_name,email)
      values (#{username},#{nickName},#{email})
    </insert>
</mapper>

4.main方法        

public static void main(String[] args) throws Exception {
    // 1. 初始化mybatis配置
		String resource = "Mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
// 2. 构建SqlSessionFactory对象
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 3. 获取SqlSession对象,默认事务不自动提交
		SqlSession session = sqlSessionFactory.openSession();
//上面不用改动 下面 .class要根据你的情况修改
// 4. 获取Mapper
		UserMapper mapper = session.getMapper(UserMapper.class);
// 5. 查询所有用户
        List<User> users = mapper.queryAllUser();
		System.out.println(users.size());
	}

5.完成了

深入了解Mybatis

SqlSessionFactory

一个SqlSessionFactory只能连接一个数据库实例,如果需要连接多个数据库,需要构建多个SqlSessionFactory对象。

SqlSession

一个SqlSession对象代表一次到数据的会话,该对象有一下功能:

* 获取Mapper实现类
* 管理事务操作

Mapper

* Mapper接口类
  
  定义了增删盖查的方法。注意,必须是接口类型,而且方法只需要定义就可以了。
  
* Mapper配置文件
  
  Mapper配置文件中就是负责实现接口中的方法,它定义了具体要执行什么SQL语句,如何映射结果集。
  
  * 配置文件中select、delete、update、insert标签的id必须是对应接口中的方法名。
  * mapper文件的namespace属性需要对应Mapper接口的完全类型限定名。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值