1.数据库建表

在数据库中新建一个名为mybatis的数据库,在mybatis数据库中新建一张 t_user 表,表中有3个字段,id,name,password,代码如下:

新建一个mybatis数据库:

create database mybatis;

在mybatis数据库中新建一个 t_user 表:

CREATE TABLE `t_user` (
	`id` int(3),
	`name` varchar(20),
	`password` varchar(30)
	)ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO t_user(id,name,password) VALUES (1,'张三','123456');
INSERT INTO t_user(id,name,password) VALUES (2,'李四','456789');
INSERT INTO t_user(id,name,password) VALUES (3,'王五','654321');
INSERT INTO t_user(id,name,password) VALUES (4,'赵六','987654');

select * from t_user;
+------+------+----------+
| id   | name | password |
+------+------+----------+
|    1 | 张三 | 123456   |
|    2 | 李四 | 456789   |
|    3 | 王五 | 654321   |
|    4 | 赵六 | 987654   |
+------+------+----------+
4 rows in set (0.00 sec)

2.在idea中新建一个maven项目

点击finish后,会打开如下该界面:出现该界面,就表示maven项目创建完毕,该界面右下角 点击Enable Auto-Import

注意:点击File–》settings–》Build,Execution,Deployment–》Build Tools–》Maven

,查看Maven home directory 是否为自己安装的路径,如果不是,需要修改;查看User settings file 是否为自己安装路径的配置,Local repository是否为自己的本地仓库,如果不是,修改为自己的本地仓库。如下图:

3.在pom.xml中添加依赖

<!--导入依赖-->
<dependencies>
    <!--mysqlq驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
    <!--mybatis-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.4</version>
    </dependency>
    <!--junit-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
	<resources>
		<resource>
			<directory>src/main/java</directory>
			<includes>
				<include>**/*.properties</include>
				<include>**/*.xml</include>
			</includes>
			<filtering>false</filtering>
		</resource>
	</resources>
</build>

添加完毕以后,查看包是否下载导入成功,如下图:(如果没有这几个jar包,需要重新导入)
build标签防止文件找不到,建议加上。

4.mybatis-config.xml配置文件

在resources文件夹中新建一个mybatis-config.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核心配置文件-->
<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/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="1234"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="UserMapper.xml"></mapper>
    </mappers>
</configuration>

username和password 修改为自己的数据库名字的密码,mapper标签的resource内为映射配置文件。

5.编写pojo类和dao接口

在java目录中新建com.baidu.www包,在该包下新建一个dao包和一个pojo包。

在dao包中新建一个UserDao接口,在pojo中新建一个User实体类,如下:

6.编写mapper文件

在resources文件夹中新建一个UserMapper.xml文件,代码如下:(这里的UserMapper.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">
<!--namespace=绑定一个指定的Dao/Mapper接口-->
<mapper namespace="com.baidu.www.dao.UserDao">
    <select id="getUser" resultType="com.baidu.www.pojo.User">
    select * from t_user
  </select>
</mapper>

7.测试

public class MybatisTest {
    @Test
    public void test(){
        String resources = "mybatis-config.xml";
        try {
            InputStream resourceAsStream = Resources.getResourceAsStream(resources);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
            SqlSession sqlSession = sqlSessionFactory.openSession();
            UserDao mapper = sqlSession.getMapper(UserDao.class);
            List<User> users = mapper.getUser();
            for(User user : users) {
                System.out.println(user);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

版权声明:本文为dxcyys原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dxcyys/p/14789341.html