上一篇,我们搭建完成了仓库,本篇开始创建我们的Maven项目!
❤ (ɔˆз(ˆ⌣ˆc)“玥”——乃古上神珠也。见者好运连连,点个关注,咱们来玥方长!
(ง •̀_•́)ง加油😁😁😁
目录
❤ (ɔˆз(ˆ⌣ˆc)“玥”——乃古上神珠也。见者好运连连,点个关注,咱们来玥方长!
一、前言
对于Mybatis是什么,已在前一篇文章详细介绍了 !可以看回下面的文章。
Mybatis学习-(案例)员工管理系统——Maven仓库http://t.csdn.cn/JSMBw
我们学习Mybatis框架的目的是为了操作我们的数据库,进行数据的查询、插入、删除、更新等等!
在创建好仓库后,本篇我们可以上手创建Maven项目了,我使用的是本地仓库!
这是我们的本地仓库路径!
二、创建Maven项目及配置环境
创建Maven项目,我们需要用到开发工具IDEA!需要自行下载一下!
(一)打开IDEA
由于我们IDEA是设置过的,进去的界面就是这样!第一次进去的界面你可能看不见我上图这个,但你可以在右边找到一个按钮:“Create Project"
点击一下就可以进入创建新的项目!跟着我的步骤:
1、左上角找到”file",点击打开下拉窗口
2、点击“new",打开下面的窗口
3、点击”Project",打开新的窗口
4、完成上面的步骤后,点击“Next"继续操作
第7步,自定义你的项目名称,第8步是你的项目保存路径,第9步配置按照默认的信息就好,其中Ver是你的项目版本,默认为测试版本。
5、Finish!!!
最后点击”Finish",完成Maven项目的创建啦!
三、创建测试项目
(一)配置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>employeeSystem</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> </dependency> </dependencies> <build> <!--1、 解决idea不会自动将src/main/java目录下xml文件编译进classes文件方法。--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> <!--2、 解决maven测试窗口乱码问题--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> <configuration> <argLine>-Dfile.encoding=UTF-8</argLine> </configuration> </plugin> </plugins> </build> </project>
二、配置数据登录信息
在“resources"下创建两个文件”db.properties"、"mybatis-comfig.xml"
同时如果你的"resources"文件没有出现我图片中的标志,那需要设置一下,右击文件图标,在新打开的窗口找到“Mark Directory",接着点击”Test Resources Root“即可。
1、配置db.properties
mysql.driver=com.mysql.cj.jdbc.Driver mysql.url=jdbc:mysql://localhost:3306/myDB?serverTimezone=UTC&\ characterEncoding=utf8&useUnicode=true&useSSL=false mysql.username=root mysql.password=
其中myDB为我创建的数据库的名称!!!username、password对应你设置的用户名和密码
2、配置mybatis-comfig.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="config/db.properties"/> <typeAliases> <typeAlias type="com.itheima.pojo.Employee" alias="Employee"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <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> </configuration>
3、重加载Maven项目
最后点击最右边的"Maven”,进去加载一下便可成功导入你的依赖包,从下图可以看见。
三、创建实体类
(一)创建pojo实体类
为了方便,可以提前创建好上图的三个包,右击找到对应按钮即可创建。
接着在pojo包下,创建Employee实体类
配置Employee.java文件
package com.itheima.pojo; public class Employee { private int id; private String name; private int age; private String position; 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 int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } @Override public String toString() { return "pojo{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", position='" + position + '\'' + '}'; } }
(二)配置关联映射类
新建mapper包,然后创建EmployeeMapper.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="com.itheima.mapper.EmployeeMapper"> <select id="selectEmployeeById" parameterType="Integer" resultType="Employee"> select * from employee where id=#{id} </select> <insert id="insertEmployee" parameterType="com.itheima.pojo.Employee"> insert into employee(id,name,age,position) values(#{id},#{name},#{age},#{position}) </insert> <update id="updateEmployeeById" parameterType="Employee"> update employee set name=#{name},age=#{age},position=#{position} where id=#{id} </update> <delete id="deleteEmployeeById" parameterType="Integer"> delete from employee where id=#{id} </delete> </mapper>
根据题目《员工管理系统》的需要,创建id查询、插入、更新、删除的SQL语句!
(三)配置接口类
上面的SQL语句功能实现,我利用的接口的方法!
创建一个接口类,下面是代码:
package com.itheima.mapper; import com.itheima.pojo.Employee; public interface EmployeeMapper { Employee selectEmployeeById(int id); int insertEmployee(Employee employee); int updateEmployeeById(Employee employee); int deleteEmployeeById(int id); }
实现的功能对应SQL语句。
(四)配置工具类
为了操作数据库,进行频繁的数据操作,我们需要创建持久类:
代码:
package com.itheima.utils; 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 java.io.Reader; public class MyBatisUtils { private static SqlSessionFactory sqlSessionFactory=null; static { try{ Reader reader= Resources.getResourceAsReader("config/mybatis-config.xml"); sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader); }catch (Exception e) { e.printStackTrace(); } } public static SqlSession getSession() { return sqlSessionFactory.openSession(); } }
(五)配置测试类
文件创建如上图所示,一共四个测试类,我们可以一个一个的创建,下面是详细的代码:
//selectEmployeeTest.java
package employeeSystemTest; import com.itheima.mapper.EmployeeMapper; import com.itheima.pojo.Employee; import com.itheima.utils.MyBatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test; public class selectEmployByIdTest { @Test public void selectEmployById() { SqlSession sqlSession = MyBatisUtils.getSession(); EmployeeMapper employeeMapper=sqlSession.getMapper(EmployeeMapper.class); Employee employee=employeeMapper.selectEmployeeById(1); System.out.println(employee); sqlSession.close(); } }
//insertEmployeeTest.java
package employeeSystemTest; import com.itheima.mapper.EmployeeMapper; import com.itheima.pojo.Employee; import com.itheima.utils.MyBatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test; public class insertEmployeeTest { @Test public void insertEmployee() { SqlSession sqlSession = MyBatisUtils.getSession(); EmployeeMapper employeeMapper=sqlSession.getMapper(EmployeeMapper.class); Employee employee=new Employee(); int count=0; employee.setId(3); employee.setName("王五"); employee.setAge(35); employee.setPosition("经理"); count=employeeMapper.insertEmployee(employee); System.out.println("成功插入"+count+"条信息!"); sqlSession.commit(); sqlSession.close(); } }
//updateEmployeeTest.java
package employeeSystemTest; import com.itheima.mapper.EmployeeMapper; import com.itheima.pojo.Employee; import com.itheima.utils.MyBatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test; public class updateEmployeeByIdTest { @Test public void updateEmployeeById() { SqlSession sqlSession = MyBatisUtils.getSession(); EmployeeMapper employeeMapper=sqlSession.getMapper(EmployeeMapper.class); Employee employee=new Employee(); int count=0; employee.setId(2); employee.setName("王大发"); employee.setAge(17); employee.setPosition("员工"); count=employeeMapper.updateEmployeeById(employee); sqlSession.commit(); System.out.println("成功修改"+count+"条信息!"); sqlSession.close(); } }
//deleteEmployeeTest.java
package employeeSystemTest; import com.itheima.mapper.EmployeeMapper; import com.itheima.utils.MyBatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test; public class deleteEmployeeByIdTest { @Test public void delectEmployeeById() { SqlSession sqlSession = MyBatisUtils.getSession(); EmployeeMapper employeeMapper=sqlSession.getMapper(EmployeeMapper.class); int count=0; count=employeeMapper.deleteEmployeeById(2); sqlSession.commit(); System.out.println("成功删除"+count+"条信息!"); sqlSession.close(); } }
(六)运行测试
//selectEmployeeTest.java
//insertEmployeeTest.java
修改一下代码:
运行结果:
数据库信息:
好!已经显示插入成功的数据。
还剩下的两个测试类,更新和删除,可以自行测试哦!!!
本篇内容就到此结束!《员工管理系统》Maven项目已经全部完成!!!
关注我!咱们来玥方长!!!