在一般Java环境下的MyBatis项目实现

版权声明:本文为博主原创作品,未经博主允许,不得转载。如有问题,欢迎指正。 https://blog.csdn.net/qq_21306815/article/details/88959143

       虽然,MySQL数据库的实现流程可以通过学习JDBC了解。但是在实际中使用的过程中,往往会通过框架,因此,本文将从如何使用MyBatis框架进行展开。

       平台使用:Windows10、IDEAJ2018.3、JDK1.8、MySQL

  • 通过mavan方式引入MyBatis:
  1.  http://mvnrepository.com查询mavan依赖配置
  2. maven项目的pom.xml中添加配置
  3. 核对项目的依赖是否完整
  • mybatis配置

     1. File→New→Project→Java,之后一直点击Next就可以创建成功。注意,在创建的过程中,Project location和Project name需要名字一致,这里我取名为mb_project。

     2. File→New→Module→Maven,Module SDK选择1.8,如图。

      3. 点击Next,设置GroupId(项目名称)、ArtifactId(项目中某一个模块的名称)、Version(项目的当前版本),设置完成后,点击Next,finish即可。如图:

     4. 项目目录,至此如下:

     5.  查看mybatisdemo01项目目录,其中src→main存放项目正式开发的代码,src→test存放测试代码。src→main→java存放java源代码,src→main→resources存放配置文件,src→test→java存放测试代码。pom.xml是packageObjectManagement,也是包对象管理器,所有项目中的依赖都在pom.xml文件中进行配置。配置过程中,首先要进行查看配置的依赖。

     6. 在mvnrepository.com中,查询依赖mybatis。点击org.mybatis,选择3.4.3版本。进入界面,选择Maven依赖,并复制粘贴在pom.xml文件中,最后记住保存。注意,项目会自动下载该依赖。

      7. 观察下载完成之后的External Libraries,项目中需要的mybatis依赖已经导入。

      8. 导入mysql驱动jar包。 同理步骤6。(选择mysql-connector-java→5.1.41版本)。

      9. 配置mybatis的主配置文件。resources→New→xml文件(取名mybatis.xml)。

     10. 通过官方文档的Getting Started查询 ,得到如下的配置文档:

<?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="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>

注意:在进行复制的时候,要将新建时存在的内容全部删除,并且在<?xml version="1.0" encoding="UTF-8" ?>前,不可存在空格,否则会报错,如下:

Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

说明:对于其中的configuration表示配置信息,enviroments当前的开发环境,enviroment当前的某一个开发环境,transactionManager事务管理,使用默认的JDBC,dataSource数据源,当前使用POOLED,即数据库连接池。

      11. 自行设置POOLED中的driver、url、username、password。

      12. src→main→resources→New→Directory(取名mapper),mapper→xml文件(取名usersMapper.xml)来定义映射关系。注意一般,映射类的名称通常是实体类的名称后面加上Mapper。代码同步骤10获得,如下:

<?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="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>

注意:映射文件中有namespace,表示的是命名空间的意思,该值通常情况下是当前操作实体类的全称,如下:

           13. 主配置文件mybatis.xml下的mappers中引入mapper,如图:

  • 编写数据库和Java文件

     1. 数据库代码如下:

DROP DATABASE mytest01;

CREATE DATABASE mytest01;

USE mytest01;

Create TABLE users01(
   id INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户编号',
   username VARCHAR(50) COMMENT '登录账号',
   userpass VARCHAR(50) COMMENT '登录密码',
   nickname VARCHAR(20) COMMENT '用户昵称' 
)CHARSET=UTF8;

INSERT INTO users01 VALUES(1,'admin','admin','管理员');
INSERT INTO users01 VALUES(2,'manager','manager','管理员');
INSERT INTO users01 VALUES(3,'administrator','administrator','管理员');

SELECT * FROM users01;

      2. src→main→java→New→Package(取名com.damu.entity),src→main→java→com.damu.entity→New→Class(取名Users),代码如下:

package com.damu.entity;

public class Users {


    private Integer id;

    private String username;

    private String userpass;

    private String nickname;

    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 String getUserpass() {
        return userpass;
    }

    public void setUserpass(String userpass) {
        this.userpass =
                userpass;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname =
                nickname;
    }

    @Override
    public String toString() {
        return "Users{" +
                "id=" + id +
                ", username='" + username + '\''+
                ", userpass='" + userpass + '\'' +
                ", nickname='" + nickname + '\'' +
                '}';
    }
}

     

          3. 新增Test类(取名TestDemo) ,通过Junit进行测试,代码如下:

import com.damu.entity.Users;
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 TestDemo {

    /**
     * 通过junit进行测试
     */
    @Test /*快速导入包Ctrl + Enter:优化导入包Alt+Ctrl+O*/
    public void testDemo1() throws IOException {
        //初始化mybatis配置环境
        String resource = "mybatis.xml";
        InputStream is = Resources.getResourceAsStream(resource);
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

        //打开和数据库之间的会话
        SqlSession
                session = factory.openSession();
        List<Users> ulist = session.selectList("usersList");

        for(Users user : ulist){
            System.out.println(user);
        }

        session.close();
    }
}

      4.测试完成,结果如下:

       由此,我们已经将整一个项目利用框架进行搭建完成~

猜你喜欢

转载自blog.csdn.net/qq_21306815/article/details/88959143
今日推荐