开启MyBatis之旅之环境搭建及一个Demo

1. 所需工具

(1)Eclipse jdk 1.8 java环境自行搭建jdk下载地址 eclipse下载地址
(2)安装mysql 作为数据库 mysq下载地址
(3) mybatis 的jar 包,jdbcjar包jar下载地址

2.新建一个Javaproject

1).首先建立一个名字为 Helloword 的 java project。选择 “File” -> “New” ->”Java Project”
2).在项目src下创建config domain mapper test 四个包
这里写图片描述

3.导入jar包

1).导入mysql-connector-java-5.1.45-bin.jar
2).导入mybatis-3.4.5.jar

4.数据库构建

1.新建数据库user
2.创建一个表:user,并插入一条记录信息,其结构如下所示:


CREATE TABLE `user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL DEFAULT '',
  `dept` varchar(254) NOT NULL DEFAULT '',
  `website` varchar(254) DEFAULT '',
  `phone` varchar(16) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) 

5.创建配置文件

1). 在 src/config 目录下创建Configure.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>
    <typeAliases>
        <typeAlias alias="User" type="wzc.mybatis.domain.User" />
    </typeAliases>
    <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/user?useSSL=false" />
                <property name="username" value="数据库用户名" />
                <property name="password" value="数据库密码" />

                       </dataSource>
        </environment>
    </environments>

    <mappers>
         <mapper resource="wzc/mybatis/domain/User.xml" />
    </mappers>
</configuration>

6.创建实体类和映射文件

1).创建与数据库表对应的 User.java 类及其映射文件:User.xml,详细内容如下所示:
User.class文件内容:与其数据库相对应,包含字段的get set 方法。

package wzc.mybatis.domain;

public class User {
    private int id;
    private String name;
    private String dept;
    private String phone;
    private String website;

    public String getWebsite() {
        return website;
    }
    public void setWebsite(String website) {
        this.website = website;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }

}

User.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">

<mapper namespace="wzc.mybatis.domain.UserMapper">
    <select id="GetUserByID" parameterType="int" resultType="User">
        select * from `user` where id = #{id}
    </select>
</mapper>

7.运行测试

1).在 test文件夹下建立 一个类叫作:HelloWord, 来运行测试配置环境是否成功,具体代码如下示:

package wzc.mybatis.test;

import java.io.Reader;

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 wzc.mybatis.domain.*;
public class HelloWord {
    private static SqlSessionFactory sqlSessionFactory;
    private static Reader reader;

    static {
        try {
            reader = Resources.getResourceAsReader("config/Configure.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static SqlSessionFactory getSession() {
        return sqlSessionFactory;
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SqlSession session = sqlSessionFactory.openSession();
        try {
            User user = (User) session.selectOne(
                    "wzc.mybatis.domain.UserMapper.GetUserByID", 2);
            if(user!=null){
                String userInfo = "名字:"+user.getName()+", 所属部门:"+user.getDept()+", 主页:"+user.getWebsite();
                System.out.println(userInfo);
            }
        } finally {
            session.close();
        }
    }

}

2).结果如下:
结果

示例源码

下载地址,点击传送

遇到的问题

运行时报错:
错误如下:
Fri Jan 05 17:51:42 CST 2018 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
原因是:
原因是MySQL在高版本需要指明是否进行SSL连接。解决方案如下:在configure.xml中的url参数后加上?useSSL=false如图:
错误解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值