笔者自学的框架,知识点来自网上学习教程,方便实惠,推荐,特此声明。
一. mybatis(以Student类举例)
- pom引入依赖
在build下添加以下参数,使得 idea编译src的java目录的xml文件<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources>
- StudentDao.xml
mapper的文件名随意,一般会跟dao接口放在同一个包下,这里映射文件名称定为StudentMapper.xml
mybatis会检测到student类型的对象,所以parameterType一般不用指定,values后面的#{}中的内容是Student的属性名<?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.java.Dao.StudentDao"> <!--parameterType可省略--> <insert id="insertStudent" parameterType="com.java.Bean.Student"> INSERT INTO t_student(name,age,score) VALUES (#{name},#{age},#{score}) </insert> </mapper>
- mybatis.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"/> <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> <!--注册映射文件--> <mapper resource="com/java/Dao/StudentMapper.xml"/> </mappers> </configuration>
- db.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/sqldemo?useSSL=false jdbc.user=root jdbc.password=password
二.相关解释
-
mybatis.xml
1.1 设置jdbc链接参数在db.propertes中,便于修改,同时通过以下语句载入mybatis.xml
<properties resource="db.properties"/>
1.2 注册实体类(JavaBean)的全限定性类名的别名//设置单个bean <typeAliases> <typeAlias type="com.java.Bean.Student" alias="student"/> </typeAliases> //使用package指定一个包名,mybatis会在这个包名下搜索需要的JavaBean //默认别名:基本类型前面加_例如_int,引用类型一般变第一个大写为小写如:student <typeAliases> <package name="com.java.Bean"/> </typeAliases>
也可以在Bean下的类上添加@Alias(String)注解来取别名
1.3 生产环境:<!--生产环境--> <environment id="online"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.online.driver}"/> <property name="url" value="${jdbc.online.url}"/> <property name="username" value="${jdbc.online.user}"/> <property name="password" value="${jdbc.online.password}"/> </dataSource> </environment>
在environments标签中有两个environment子标签表示了两个数据库,此时可以在environments中使用default属性来指定使用哪一个数据库,这样子,在切换环境的时候,只需要修改default的属性即可。
- transactionManager标签
该标签用于指定MyBatis所使用的事务管理器。 MyBatis 支持两种事务管理器类型:- JDBC
该事务器就是我们之前通过Connection的commit()方法提交,通过rollback()方法回滚,默认是需要手动提交的。 - MANAGED
由容器来管理事务的整个事务的生命周期,默认情况下会关闭连接
- JDBC
- transactionManager标签