1、项目结构
2、EmployeeMapper.xml添加代码
<!-- public List<Employee> getEmpsByListNameLike() ; 注意:返回值是集合类型,resultType中要写集合中元素类型 --> <select id="getEmpsByListNameLike" resultType="com.atguigu.mybatis.bean.Employee"> select * from tbl_employee where last_name like #{lastName} </select>
注意:返回值是集合类型,resultType中要写集合中元素类型
3、mybatis-config.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> <settings> <!-- mybatis开启驼峰命名 lastName====>last_name --> <setting name="mapUnderscoreToCamelCase" value="true" /> </settings> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="111111" /> </dataSource> </environment> </environments> <mappers> <!-- 注册userMapper.xml文件, resoure:引用类路径下的sql映射文件 mybatis/mapper/EmployeeMapper.xml url:引用网络路径或磁盘下的sql映射文件 file:///var/mappers/AuthorMapper.xml class:引用注册接口 ①、有sql配置文件:映射文件名必须和接口同名,并且放在与接口同一目录下 ②、没有sql映射文件:所有的sql都是利用注解写在接口上 ③、推荐:比较重要的,复杂的Dao接口,写sql映射文件,便于维护 不重要,简单的Dao接口为了开发快速可以写注解 package:用于有sql映射文件的接口注册 <package name="com.atguigu.mybatis.dao"/> --> <mapper resource="com/atguigu/mybatis/dao/EmployeeMapper.xml"/> <mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/> <!-- <package name="com.atguigu.mybatis.dao"/> --> </mappers> </configuration>
注:①configuration中标签顺序:properties, settings, typeAliases, typeHandlers, objectFactory, objectWrapperFactory, reflectorFactory?, plugins, environments, databaseIdProvider, mappers
②mybatis开启驼峰命名 lastName====>last_name
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
4、MybatisTest.java代码
@Test public void test05() throws IOException { SqlSessionFactory sqlSessionFactory =getSqlSessionFactory(); //1、获取到的SqlSession不会自动提交 SqlSession openSession= sqlSessionFactory.openSession(); try { /*2.获取接口的实现对象*/ EmployeeMapper mapper= openSession.getMapper(EmployeeMapper.class); //mapper为代理对象,执行增删改查 List<Employee> list=mapper.getEmpsByListNameLike("%e%"); for (Employee employee : list) { System.out.println(employee); } //3、手动提交 openSession.commit(); } finally { openSession.close(); } }
5、控制台打印