1、工具
idea 2019
目录结构:
数据库
2、maven依赖(pom.xml)
<dependencies>
<!-- mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<!-- 数据库依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<!-- 分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.10</version>
</dependency>
</dependencies>
3、mybatis核心配置文件(mybatis.xml)
<!-- 指定properties文件位置-->
<properties resource="jdbc.properties" />
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!--在此可以自定义别名、不推荐 用全限定名称更安全 可读性更高-->
<typeAliases>
<!--第一种、type是全限定名称 alias是别名-->
<typeAlias type="" alias=""></typeAlias>
<!--第二种、name是包名 这个包里的所有类的类名就是别名-->
<package name=""/>
</typeAliases>
<!-- 配置插件-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
<!-- default与连接数据库信息中的id相同,来区别连接的是那个数据库-->
<environments default="development">
<!-- 连接数据库信息-->
<environment id="development">
<!-- transactionManager:mybatis提交事务 -->
<!-- type:事务的处理的类型 -->
<!-- 1)JDBC:表示mybatis底层是调用JDBC中的Connection对象的,commit,rollback -->
<!-- 2)MANAGED:把mybatis的事务处理委托给其他的容器(一个服务器软件,一个框架) -->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件位置-->
<mappers>
<!-- 第一种方式、直接导入-->
<!-- 第二种方式、导入包 可以把包内的所有xml文件一次性导入-->
<package name="dao"/>
</mappers>
</configuration>
<!-- 指定properties文件位置-->
<properties resource="jdbc.properties" />
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!-- <!–在此可以自定义别名、不推荐 用全限定名称更安全 可读性更高–>-->
<!-- <!–第一种、type是全限定名称 alias是别名–>-->
<!-- <!–第二种、name是包名 这个包里的所有类的类名就是别名–>-->
<!-- 配置插件-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
<!-- default与连接数据库信息中的id相同,来区别连接的是那个数据库-->
<environments default="development">
<!-- 连接数据库信息-->
<environment id="development">
<!-- transactionManager:mybatis提交事务-->
<!-- type:事务的处理的类型-->
<!-- 1)JDBC:表示mybatis底层是调用JDBC中的Connection对象的,commit,rollback-->
<!-- 2)MANAGED:把mybatis的事务处理委托给其他的容器(一个服务器软件,一个框架)-->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件位置-->
<mappers>
<!-- 第一种方式、直接导入-->
<!-- 第二种方式、导入包 可以把包内的所有xml文件一次性导入-->
<package name="dao"/>
</mappers>
</configuration>
4、连接数据库的属性文件(jdbc.properties)
我的mysql是8.0的,和5.0的有些区别
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/maven_tset?useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
jdbc.user=root
jdbc.password=root
5、工具类
封装的工厂工具类
6、简单例子
6.1、接口(UserDao)
6.2、映射文件(UserDao.xml)
映射文件的namespace是接口路径
下面每个方法的id必须要和接口中的id相同
resultType为用到的实体类路径
7、测试类(Test)
测试以上所有方法