mybatis框架的简单使用

Posted ajysx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis框架的简单使用相关的知识,希望对你有一定的参考价值。

1.1 创建工程并导入mybatisjar文件

最基本的导入mybatis和connector的jar

1.2 编写MyBatis的配置文件

 

src目录下创建一个叫mybatis.xml文件。

 

在这个文件中我们要配置MyBatis的工作的相关参数。

MyBatis的配置文件中最核心的是JDBC连接数据库的四大参数项

 

 

 

<?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://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=utf8" />
				<property name="username" value="root" />
				<property name="password" value="root" />
			</dataSource>
		</environment>
	</environments>
</configuration>

  

1.4 编写一个实体类

MyBatis框架是一个ORM映射的框架。

O:对象

R:关系(在关系型的数据库中就是一张表)

1 public class Users {
2     // USER_NAME varchar
3     private String userName;
4     // USER_PASS varchar
5     private String userPass;
6     // USER_IMG varchar
7     private String userImg;
8     //set&get
9 }

1.5 编写一个对数据库表Users进行CURD操作的XML文件

MyBatis框架中我们自己编写SQL语句,但是在MyBatis框架中SQL语句不是写在程序中。

MyBatis框架中SQL语句是写一个独立的XML文件。

编写SQL语句的XML文件二种:

1 与实体类同名的XML

2 使用映射mapperXML(实际开发环境使用这个)

 Mapper接口

MapperMyBatis框架中一个接口。在这个接口中我们要声明所有的CRUD方法。

使用MyBatis框架为这个接口给出一个具体的实现类。但是这个实现类是一个XML的文件

1.6编写针对Users类的Mapper接口

 

public interface UsersMapper {
    //这个接口中编写针对Users实例的CURD的方法
    public List<Users> findAll();
}

 

 1.7编写UsersMapper这个接口的实现类

MyBatis中实现类在一个XML文件。在XML文件编写SQL语句

 

UsersMapper.xml文件:

mapper namespace="com.hbgc.mapper.UsersMapper">
    <!-- 当数据表中字段的名称 与 实体类中属性的名称不一致时 -->
    <resultMap type="com.hbgc.domain.Users" id="usersResult">
        <result column="USER_NAME" property="userName" javaType="java.lang.String" />
        <result column="USER_PASS" property="userPass" javaType="java.lang.String" />
        <result column="USER_IMG" property="userImg" javaType="java.lang.String" />
    </resultMap>
    <!-- select标签表示要编写一个查询语句 -->
    <!-- id 当前这个查询的名称  -->
    <!-- resultMap 用来指定查询结果与实体类之间的映射关系  -->
    <select id="findAll" resultMap="usersResult">
        select * from users
    </select>
</mapper>

1.8修改mybatis的核心配置文件

 

<configuration>
    //...
    <mappers>
        <mapper resource="com/hbgc/mapper/UsersMapper.xml" />
    </mappers>
</configuration>

 

1.9测试:

在测试类中:使用Mapper接口的方式与之前的方式有区别。

要从SqlSession中获得一个Mapper接口的实现类。

 

public static void main(String[] args) throws Exception {
        //加载MyBatis框架的配置文件
        String resource = "mybatis.xml";
        Reader reader = Resources.getResourceAsReader(resource);
        //根据配置文件的内容创建工厂
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
                .build(reader);
        //使用工厂对象的openSession方法获得MyBatis核心操作对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        
        //调用 方法执行查询所有用户的SQL语句
        UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class);
        List<Users> userList = usersMapper.findAll();
        for (Users users : userList) {
            System.out.println(users);
        }
        sqlSession.close();//除了查询,其他的操作需要事物,必须提交和关闭
        System.out.println("end!");
    }

 

以上是关于mybatis框架的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

搭建一个简单的mybatis框架

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

mybatis

MyBatis框架

myBatis简单入门