基于sts(eclipse)的MyBatis框架环境搭建与开发流程

一.maven项目的构建

maven:项目全生命周期构建工具。
1.官网下载maven,将其包放到盘根目录下
在这里插入图片描述
2.创建文件夹 maven-respository :依赖仓库,用来存放各类架包
在这里插入图片描述
3.配置maven/conf/settings.xml文件

在这里插入图片描述

1). 打开xml文件,将53行语句拷贝到55行,将标签中的内容改为maven-respository的路径在这里插入图片描述
2). 在160行配置mirror镜像(此处使用阿里云镜像)
在这里插入图片描述
3).配置jdk版本号:将200-216行代码剪切到237行,并更改版本号(1.8版本如图所示)
在这里插入图片描述
在这里插入图片描述
4.sts(eclipse)配置maven并创建项目
1).新建maven-workspace文件夹,用来存放maven项目
在这里插入图片描述
2).打开sts(eclipse).并切换路径
在这里插入图片描述
3).重新配置sts
在这里插入图片描述
在这里插入图片描述

1.1 创建javase项目

新建一个maven项目,按如图所示步骤进行操作

在这里插入图片描述
在这里插入图片描述
项目结构说明:
在这里插入图片描述

1.2创建javaee项目**

新建一个maven项目,按如图所示步骤进行操作
在这里插入图片描述
在这里插入图片描述
项目结构:
在这里插入图片描述

创建完成后,右键点击项目选择Properties进入
在这里插入图片描述
接着
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置完后,右键点击ee项目,选择java–ee tools 选中下图标记的选项。
在这里插入图片描述
在web.xml中做出如下图更改操作
在这里插入图片描述此时maven–ee项目已经构建完成。

二.MyBatis开发流程示例

项目需求:在数据库中构建一个book_tab表,完成对表的CRUD操作
1.创建一个maven项目
在这里插入图片描述
项目的整体结构如图所示:
在这里插入图片描述

2.在pom.xml中配置依赖

<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.yang.maven</groupId>
  <artifactId>mybatis-hello</artifactId>
  <version>0.0.1-SNAPSHOT</version>
   <dependencies>
  
  <!-- 和数据库关联所用架包 -->
     <dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.25</version>
		</dependency>
  
     <!-- 数据源 -->
     <dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.2.6</version>
		</dependency>
		
		<!-- mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.5.7</version>
		</dependency>
  
       <!-- 日志 -->
         <dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		
		<!-- lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.20</version>
		</dependency>
		
		<!-- junit单元测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		
		<!-- 日志的包装 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.32</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.32</version>
		</dependency>
		
  </dependencies>
</project>

3.在entity包下构建映射表(book_tab)的实体类

package com.yang.mybatis.entity;

import org.apache.ibatis.type.Alias;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Alias("Book") //实体类的别名
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Book {
    private Integer id;
    private String name;
    private Double price;
    private String author;
}

4.在mapper包下定义接口:实现数据库的CRUD操作

package com.yang.mybatis.mapper;

import java.util.List;

import com.dyit.mybatis.entity.Book;

public interface IBookMapper {
    void save(Book book); //增
    void delet(int id); //删
    void upDate(Book book); //改
    List<Book> findAll(); //全查询
}

5.配置框架
1)配置数据库
druid:

druid.url=jdbc:mysql://192.168.0.199:3306/ssm_db?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
druid.username=root
druid.password=123
druid.driver=com.mysql.cj.jdbc.Driver

2)配置表与类的映射
在util包下构建MybatisDataSource:

package com.yang.mybatis.util;
import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
import com.alibaba.druid.pool.DruidDataSource;


/**
 * 使用自定义数据源
 * @author yang
 *
 */
public class MybatisDataSource extends UnpooledDataSourceFactory {
    
	public MybatisDataSource() {
		this.dataSource = new DruidDataSource();
	}
}

在config包下构建mybatis-configuration.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>

	<!-- druid的配置文件的位置 ,${druid.username}取出配置文件druid.username的值-->
	<properties resource="mybatis/druid/druid.properties"/>
	
	<!-- 配置别名,配合@Alais,扫描指定包内的锁有@Alais注解的类 -->
	<typeAliases>
		<package name="com.yang.mybatis.entity"/>
	</typeAliases>

	<!--数据库的配置信息-->
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" /><!--JDBC事务管理-->
			<dataSource type="com.yang.mybatis.util.MybatisDataSource" > <!---数据源-->
				<property name="driverClassName" value="${druid.driver}" />
				<property name="url" value="${druid.url}" />
				<property name="username" value="${druid.username}" />
				<property name="password" value="${druid.password}" />
			</dataSource>
		</environment>
	</environments>

	<!--配置表和类的映射文件-->
	<mappers>
		<mapper resource="mybatis/mapper/Book.mapper.xml" />
	</mappers>
</configuration>

3)配置sql
在mapper包下构建Book.mapper.xml进行配置:
配置namespace:

<!-- 接口的全名 -->
<mapper namespace="com.yang.mybatis.mapper.IBookMapper">

</mapper>

配置表和类的映射关系:

<!-- 配置类的属性和表中的字段的映射关系 -->
	<resultMap type="Book" id="BookMap">
		<!-- 配置主键 -->
		<id property="id" column="book_id" />
		<result property="name" column="book_name" />
		<result property="price" column="book_price" />
		<result property="author" column="book_author" />
	</resultMap>

配置sql语句:

 <!---->
	<insert id="save">
		INSERT INTO book_tab(book_name,book_price,
		book_author)
		VALUES(#{name},#{price},#{author})
	</insert>

   <!---->
	<delete id="delet">
		DELETE FROM book_tab WHERE book_id=#{id}
	</delete>
	
	 <!---->
	<update id="upDate">
		UPDATE book_tab SET book_name=#{name}, book_price=#{price},book_author=#{author} 
		WHERE book_id=#{id}
	</update>
	
	<!-- 全查询 -->
	<select id="findAll" resultMap="BookMap">
		SELECT  * FROM book_tab
	</select>

6.做代码junit测试

package com.dyit.test;

import static org.junit.Assert.*;

import java.io.IOException;

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.After;
import org.junit.Before;
import org.junit.Test;

import com.dyit.mybatis.entity.Book;
import com.dyit.mybatis.mapper.IBookMapper;

public class MybatisTest {
	
	private SqlSession sqlSession;
	private static SqlSessionFactory sqlFactory; //创建工厂

	static {
		try {
			sqlFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("mybatis/config/mybatis-configuration.xml"));
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	@Before//最先执行的before方法,将sqlsession创建出来
	 public void before() {
		sqlSession = sqlFactory.openSession(); 
	}
	
	@Test
	public void testSave() { //增
		IBookMapper mapper = sqlSession.getMapper(IBookMapper.class);//获取接口路径
		mapper.save(new Book(null, "明朝那些事", 33.98, "当代明月"));
	}
	@Test
	public void testUpDate() {  //改
		IBookMapper mapper = sqlSession.getMapper(IBookMapper.class);
		mapper.save(new Book(1, "平凡的世界", 40.09, "路遥"));
		
	}
	@Test
	public void testDelet() {  //删
		IBookMapper mapper = sqlSession.getMapper(IBookMapper.class); 
		mapper.delet(1);
	}
	@Test
	public void TestfindAll() { //查
		IBookMapper mapper = sqlSession.getMapper(IBookMapper.class);
		List<Book> list = mapper.findAll();
		System.out.println(list);
	}
	@After  //最后执行事务的提交和关闭连接
	public void after() {
		sqlSession.commit();
		sqlSession.close();
	}

}
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值