美文网首页
MyBatis_Day01_搭建开发环境

MyBatis_Day01_搭建开发环境

作者: 背对背拥抱 | 来源:发表于2019-11-05 14:07 被阅读0次
一、新建Maven项目
1)打开IDEA开发工具,点击"Create New Project"
2)选择左侧的"Maven",点Next
3)填入"GroupId"和“ArtifactId”:

4)Finish

Mave项目新建完成后,项目结构如下:

image.png
二、导入依赖,编写实体类及其配置文件:
1)在"pom.xml"中导入需要的依赖:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.zl</groupId>
    <artifactId>hello_mybatis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>
</project>
2)src.main.java包下新建com.zl.domain包,然后新建实体类User:
package com.zl.domain;

import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {
    private Integer id;
    private String username;
    private Date birthday;
    private String sex;
    private String address;

    public Integer getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getSex() {
        return sex;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", birthday=" + birthday +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

3)新建com.zl.dao包,然后新建UserDao接口:

新增一个查询方法:

package com.zl.dao;

import com.zl.domain.User;

import java.util.List;

public interface UserDao {
    /**
     * 查询所有用户
     * @return
     */
    List<User> findAll();
}
4)在src.main.resources下新建com.zl.dao包,然后新建UserDao.xml:

注意:resources下的包结构必须和java包下的路径结构一致,还需要注意的是,resources文件夹下无法一次新建com.zl.dao包,只能一级一级的新建目录。

<?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.zl.dao.UserDao">
    <!--查询所有-->
    <select id="findAll" resultType="com.zl.domain.User">
        select * from user
    </select>
</mapper>
5)在resources根目录下新建SqlMapConfig.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>
    <!--配置mybatis环境-->
    <environments default="mysql">
        <!--配置mysql环境-->
        <environment id="mysql">
            <!--配置事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据库信息:用的是数据源(连接池)-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="com/zl/dao/UserDao.xml" />
    </mappers>

</configuration>
三、新建测试类:
1)在src.test.java包下新建UserTest测试类:
import com.zl.dao.UserDao;
import com.zl.domain.User;
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;
import java.util.List;

public class UserTest {

    @Test
    public void testFindAll(){
        try {
            //1.读取配置文件
            InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2.创建session工厂
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
            //3.创建session
            SqlSession sqlSession = factory.openSession();
            //4.获取dao接口的代理对象
            UserDao userDao = sqlSession.getMapper(UserDao.class);
            //5.执行方法
            List<User> users = userDao.findAll();
            //6.输出语句
            users.stream().forEach(System.out::println);
            //7.释放资源
            sqlSession.close();
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
四、数据库表:

User表:

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(32) NOT NULL COMMENT '用户名称',
`birthday` datetime default NULL COMMENT '生日',
`sex` char(1) default NULL COMMENT '性别',
`address` varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据:

insert into 'user'('id','sername','birthday','sex','address'
values (41,'张三','2018-02-27 17:33:08','男','上海'),
(42,'张小宝','2019-03-02 15:09:24','女','上海徐家汇'),
(43,'张大宝','2019-03-04 11:34:12','女','上海长宁'),
(45,'杨过','2019-03-04 14:07:08','男','上海浦东'),
(46,'小龙女','2019-03-07 13:11:56','女','上海'),
(48,'哈哈哈','2018-09-08 12:33:01','女','上海徐家汇');

相关文章

网友评论

      本文标题:MyBatis_Day01_搭建开发环境

      本文链接:https://www.haomeiwen.com/subject/gdwsbctx.html