MyBatis-plus的基本使用方法
- 编写User实体对象:(这里使用依赖lombok进行了进化bean操作)
package cn.itcast.simple.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.SplittableRandom;
@Data //生成get和set方法
@NoArgsConstructor //生成无参构造
@AllArgsConstructor //生成带参构造
@TableName("tb_user") //指定tb_user表
public class User {
private int id;
private String username;
private String password;
private String name;
private int age;
private String email;
}
@Data //生成get和set方法
@NoArgsConstructor //生成无参构造
@AllArgsConstructor //生成带参构造
@TableName(“tb_user”) //指定tb_user表
- 将UserMapper继承BaseMapper,将拥有了BaseMapper中的所有方法:
package cn.itcast.simple.mapper;
import cn.itcast.simple.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface UserMapper extends BaseMapper<User> {
}
接口UserMapper中不用定义方法。在测试中调用BaseMapper中定义的方法selectList()
@Test
public void testUserList() throws Exception{
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//这里使用的是MP中的MybatisSqlSessionFactoryBuilder
SqlSessionFactory sqlSessionFactory = newMybatisSqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 可以调用BaseMapper中定义的方法
List<User> list = userMapper.selectList(null);
for (User user : list) {
System.out.println(user);
}
}
改进:在引入了Spring后可以将MybatisSqlSessionFactory的引入放进applicationContext.xml中去,并且扫描mapper,测试时直接注入
<!-- 定义数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="maxActive" value="10"/>
<property name="minIdle" value="5"/>
</bean>
<!--这里使用MP提供的sqlSessionFactory,完成了Spring与MP的整合-->
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--扫描mapper接口,使用的依然是Mybatis原生的扫描器-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.itcast.simple.mapper"/>
</bean>
测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class TestMybatisSpring {
@Autowired
private UserMapper userMapper;
@Test
public void testSelectList(){
List<User> userList = userMapper.selectList(null);
for (User user : userList) {
System.out.println(user);
}
}
}