MyBatis环境的搭建
1.创建 Maven 工程
打开idea新建一个项目File → Project Structure → Project,build system中选择maven
(1)由于 IDEA 中集成了 Maven,所以我们就不需要下载了,直接使用 IDEA 默认的 Maven 进行项目构建。
(2)打开 IDEA 开发工具,单击 File → new → Project,选择 Maven,点击 create。
创建成功的界面
- 在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.itheima</groupId>
????<artifactId>mybatistest</artifactId>
????<version>1.0-SNAPSHOT</version>
????<dependencies>
????????<dependency>
????????????<groupId>org.mybatis</groupId>
????????????<artifactId>mybatis</artifactId>
????????????<version>3.5.2</version>
????????</dependency>
????????<dependency>
????????????<groupId>mysql</groupId>
????????????<artifactId>mysql-connector-java</artifactId>
????????????<version>8.0.11</version>
????????</dependency>
????????<dependency>
????????????<groupId>junit</groupId>
????????????<artifactId>junit</artifactId>
????????????<version>4.12</version>
????????????<!-- ?? ????????<scope>test</scope>-->
????????????<scope>compile</scope>
????????</dependency>
????</dependencies>
????<build>
????????<resources>
????????????<resource>
????????????????<directory>src/main/java</directory>
????????????????<includes>
????????????????????<include>**/*.properties</include>
????????????????????<include>**/*.xml</include>
????????????????</includes>
????????????????<filtering>true</filtering>
????????????</resource>
????????</resources>
????</build>
</project>
完成后视图如下:
3.创建数据库
在数据库中插入具体的数据:
运用代码检验一下是否建立成成功:
4.创建数据库连接信息配置文件
在项目src/main/resources目录下创建数据库连接的配置文件,在这里将其命名为db.properties,在该文件中配置数据库的连接参数,具体代码如下:
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456
完成图如下:
- 创建MyBatis的核心配置文件
在项目src/main/resources目录下创建MyBatis的核心配置文件,该文件主要用于项目的环境配置,如图连接相关配置,在这里命名为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>
????<!-- 环境配置 -->
????<!-- 加载类路径下的属性文件 -->
????<properties resource="db.properties"/>
????<environments default="development">
????????<environment id="development">
????????????<transactionManager type="JDBC"/>
????????????<!-- 数据库连接相关配置 ,db.properties文件中的内容-->
????????????<dataSource type="POOLED">
????????????????<property name="driver" value="${mysql.driver}"/>
????????????????<property name="url" value="${mysql.url}"/>
????????????????<property name="username" value="${mysql.username}"/>
????????????????<property name="password" value="${mysql.password}"/>
????????????</dataSource>
????????</environment>
????</environments>
????<!-- mapping文件路径配置 -->
????<mappers>
????????<mapper resource="mapper/UserMapper.xml"/>
????</mappers>
</configuration>
配置图如下:到此mybatis配置完成。
- MyBatis入门程序
- 创建POJO实体
在项目src/main/java目录下创建com.itheima.pojo包,在com.itheima.pojo包下创建User类,该类用于封装User对象的属性,具体代码如下:
package com.itheima.pojo;
public class User {
????private int uid; ????????????//用户id
????private String uname; ??????//用户姓名
????private int uage; ???????????//用户年龄
????public int getUid() {
????????return uid;
????}
????public void setUid(int uid) {
????????this.uid = uid;
????}
????public String getUname() {
????????return uname;
????}
????public void setUname(String uname) {
????????this.uname = uname;
????}
????public int getUage() {
????????return uage;
????}
????public void setUage(int uage) {
????????this.uage = uage;
????}
}
配置完成图如下:
- 创建映射文件User Mapper.xml
??????在项目的 J src/main/resources目录下创建一个 mapper文件夹,在 mapper文件夹下创建映射文件 Usermer. xml,该文件主要用于配置SQL语句和Java对象之间的映射,使SQL语句查询出来的数据能够被封装成Java对象。一个项目中可以有多个映射文件,每个实体类都可以有其对应的映射文件。映射文件通常使用POJO实体类名+ Mapper命名。例如,User实体类的映射文件名称就为 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">
<!-- mapper为映射的根节点-->
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名
mybatis会依据这个接口动态创建一个实现类去实现这个接口,
而这个实现类是一个Mapper对象-->
<mapper namespace="com.itheima.pojo.User">
????<!--id ="接口中的方法名"
parameterType="传入的参数类型"
resultType = "返回实体类对象,使用包.类名"-->
????<select id="findById" parameterType="int"
????????????resultType="com.itheima.pojo.User">
? select * from users where uid = #{id}
</select>
</mapper>
配置完成后如图所示。
(3)编写测试类:在项目的src/test/java目录下创建Test包,在Test包下创建UserTest类,该类主要要用于程序测试。具体代码如下:
package Test;
import com.itheima.pojo.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.Reader;
public class UserTest {
????@Test
????public void userFindByIdTest() {
????????//读取文件名
????????String resources = "mybatis-config.xml";
????????//创建流
????????Reader reader = null;
????????try {
????????????//读取mybatis-config.xml文件内容到reader对象中
????????????reader = Resources.getResourceAsReader(resources);
????????} catch (IOException e) {
????????????e.printStackTrace();
????????}
????????//初始化mybatis数据库,创建SqlSessionFactory类的实例
????????SqlSessionFactory sqlMapper = new
????????????????SqlSessionFactoryBuilder().build(reader);
????????//创建SqlSession实例
????????SqlSession session = sqlMapper.openSession();
????????//传入参数查询,返回结果
????????User user = session.selectOne("findById", 1);
????????//输出结果
????????System.out.println(user.getUname());
????????//关闭session
????????session.close();
????}
}
配置图如下:
7.idea中数据库的连接
(1)首先,本次使用的idea 是社区版所以并不自带dabatase,即社区版本的IDEA没有直接的database供我们使用,我们需要下载安装一个Database Navigator插件。
(2)install成功后,点击ok,然后进行restart.
(3)接着进行如下操作,详细步骤见截图:?找到并进入DB Browser
(4)创建connection连接,输入连接数据库的相关信息
8.连接成功后,运行测试程序即可
实验结果:成功运行,并输出所要搜索的“张三”
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!