1、首先创建一个maven项目工程
最后点击Create进行创建,最后等待项目加载完成即可。(创建出来后,如果main下面没有一个蓝色的java根目录,不用着急,右键main,然后new一个Directory,里面会有一个蓝色的java,双击它就可以了。)
2、导入相关依赖
1、数据库的驱动依赖
2、mybatis的依赖
3、导入lombok的依赖(方便后续实体类的书写)
在pom文件中写完坐标后,要记得重新加载一下maven项目,确保依赖中的jar包都下载到项目当中。
3、编写mybatis配置文件
首先在项目中的resource下创建一个mybatis-config.xml文件(当然这个xml文件可以自定义名字,建议是mybatis-config,见名知意)。
前往mybatis中文网:mybatis – MyBatis 3 | 入门
修改其中的value值,除了用户名和密码不一样外,其他都一样。
driver:com.mysql.cj.jdbc.Driver(使用的数据库是版本6及以上,如果是5及以下,driver为com.mysql.jdbc.Driver)
数据库url:
jdbc:mysql://localhost:3306/db01?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false(数据库名需要修改,填写需要操作数据库的名字)
要把最下面mappers标签中的mapper标签的内容注释掉,这句话的意思是将BlogMapper.xml文件注册到mybatis中,然而我们的项目中并没有BlogMapper.xml文件,所以如果不注释的话,系统会报错。
4、导入SqlSessionUtil工具包
首先创建一个util包,在包里面创建一个SqlSessionUtil的java类,将下面代码复制进去即可。
package util;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class SqlSessionUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static org.apache.ibatis.session.SqlSession getSqlSession() {
return sqlSessionFactory.openSession(true);
}
public static void closeSqlSession(org.apache.ibatis.session.SqlSession sqlSession) {
if (sqlSession!= null) {
sqlSession.close();
}
}
}
5、编写实体类
根据数据库中的表,编写相应的实体类
根据数据库的表,编写实体类Car、Player、Employee、User,这里可以使用之前导入的lombok,可以相当快的帮助我们编写实体类。先编写一个实体类Car,对数据库表car进行操作。
6、编写mapper接口
在java根目录下创建一个mapper包,在包中创建CarMapper接口,用来定义对数据库表car的相关操作。
定义一个查询表car中所有数据的方法
7、编写mapping.xml文件
在resource下创建一个名为mapping的Directory,其中创建一个CarMapping的xml文件。
xml文件中的内容还是去mybatis中文网中复制。
修改其中的namespace,将里面的值改为mapper接口的全限定类名,修改id,将里面的值修改为mapper接口中的方法的名字,使两者可以相互对应,保证mapper接口中的方法可以找到mapping文件中的sql语句。修改resultType,将里面的值修改为返回结果的类型,即实体类的全限定类名。
8、编写service文件
创建CarService接口,作为功能的统一标准,创建impl包,存放所有接口的实现类。在实现类中,编写相应功能的业务逻辑。
9、编写controller类
创建controller包,并在包下创建CarController类,测试service中的功能。
使用@test注解,对功能进行测试。
不出意外会报错,这是因为我们之前在mybatis-config.xml中的注释的那个语句,当我们写完mapper,要把它注册进mybatis中去。如下图所示,再重新运行就可以了。