标签:base cto sql NPU 全局 factory 引入 方式 bsp
mybatis的全局配置文件是在configuration标签下进行配置的,在其中可以配置以下标签:
1、properties:引入外部properties配置文件的内容
2、settings:设置项,可以影响mybatis运行的行为
3、typeAliases:为java类型取一个别名:
<typeAliases> <typeAlias alias="emp" type="com.gong.mybatis.bean.Employee"/> <!--批量取别名,会为某个包下的所有类取别名,别名为类名小写--> <package name="com.gong.mybatis.bean"/> </typeAliases>
另外,我们也可以用@Alias("名字")注解,直接在java文件中为类取别名。注意:别名不区分大小写。
4、typeHandlers:java数据类型和数据库数据类型的桥梁。
5、plugins:拦截sql语句执行的一些步骤。
6、environments:
<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.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments>
我们可以通过id来切换不同的环境。
7、databaseIdProvider:支持多数据库,根据数据库厂商的标识发送不同的sql语句。
8、mappers:将sql映射文件注册到全局配置文件中。
mappers中的子标签为mapper,在mapper中有以下属性:
<mappers> <mapper resource="mybatis/mapper/EmployeeMapper.xml"/> </mappers>
<mappers> <mapper class="com.gong.mybatis.dao.EmployeeMapper" /> </mappers>
<mappers> <mapper class="com.gong.mybatis.dao.EmployeeMapperAnnotation" /> </mappers>
EmployeeMapperAnnotation.java
package com.gong.mybatis.dao; import org.apache.ibatis.annotations.Select; import com.gong.mybatis.bean.Employee; public interface EmployeeMapperAnnotation { @Select("select * from tbl_employee where id=#{id}") public Employee getEmpById(Integer id); }
在TestMybatis.java中进行测试:
package com.gong.mybatis.test; import java.io.IOException; import java.io.InputStream; 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.Test; import com.gong.mybatis.bean.Employee; import com.gong.mybatis.dao.EmployeeMapper; import com.gong.mybatis.dao.EmployeeMapperAnnotation; public class TestMybatis { public SqlSessionFactory getSqlSessionFactory() throws IOException { String resource = "mybatis-config.xml"; InputStream is = Resources.getResourceAsStream(resource); return new SqlSessionFactoryBuilder().build(is); } @Test public void test02() throws IOException { // 1、获取sqlSessionFactory对象 SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); // 2、获取sqlSession对象 SqlSession openSession = sqlSessionFactory.openSession(); try { // 3、获取接口的实现类对象 //会为接口自动的创建一个代理对象,代理对象去执行增删改查方法 EmployeeMapperAnnotation mapper = openSession.getMapper(EmployeeMapperAnnotation.class); Employee employee = mapper.getEmpById(1); System.out.println(mapper.getClass()); System.out.println(employee); } finally { openSession.close(); } } }
输出:
标签:base cto sql NPU 全局 factory 引入 方式 bsp
原文地址:https://www.cnblogs.com/xiximayou/p/12209235.html