持久层框架:完成数据库操作的框架,替代了JDBC的作用
MyBatis是一个 ‘半自动’ 的 ‘ orm ’ 框架
Hibrnate 是全自动框架
ORM (Object Relational Mapping)对象关系映射,将java中的一个对象与数据库表中一行的记录一一对应
ORM框架提供了实体类与数据表的映射关系,通过映射文件的配置,将对象保存到数据库表中,实现对象的持久化
- MyBatis的前身是iBatis
- 特点:
- 支持自定义sql 、存储过程
- 对原有jdbc封装,消除了所有JDBC代码、让开发者关注sql本身
- 支持xml和注解配置方式自动完成orm操作,时间结果映射
import lombok.Data;
@Data
public class User {
private int id;
private String username;
private String pwd;
}
3、创建接口定义方法
@Repository
public interface UserMapper {
int insertUser(@Param("u") User user);
int insertUsers(@Param("u") List list);
int update(@Param("u") User user);
User selectUser(int id);
List selectUsers();
User selectForLogin(User user);
}
4、创建dao接口的映射文件
- 在resources目录下,新建名为mapper的文件加在mapper中新建名为usermapper.xml的映射文件(根据模板创建)
- 在映射文件中对接口中定义的方法进行实现
5、映射文件添加到主配置文件id as id, account, pws //单个插入insert into tb_user(account, pwd) value (#{u.username}, #{u.pwd}) //批量插入insert into tb_user(account,pwd) value //修改#{u.username},#{u.pwd} update tb_user //批量查找where id = #{u.id} account = #{u.username}, pwd = #{u.pwd},
添加junit依赖
junit
junit
4.13.2
test
测试类
package com.yan;
import com.yan.bean.User;
import com.yan.mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Main {
public static void main(String[] args) throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// User u = new User();
// u.setUsername("1234");
// u.setId(2);
UserMapper mapper = context.getBean(UserMapper.class);
List list =mapper.selectUsers();
System.out.println(list);
// List list = new ArrayList<>();
// for (int i = 0; i < 10; i++) {
// User u = new User();
// u.setUsername("vfsd"+i);
// u.setPwd("dfsafsa"+i);
// list.add(u);
// }
// mapper.insertUsers(list);
// mapper.update(u);
// System.out.println(u.getId());
}
// 确定配置文件位
// String resource = "mybatis-config.xml";
// 获得配置文件中的内容
// InputStream inputStream = Resources.getResourceAsStream(resource);
// 通过SqlSessionFactoryBuilder 来创建一个 SqlSessionFactory
// SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// SqlSession ss = sqlSessionFactory.openSession(true);
// UserMapper mapper = ss.getMapper(UserMapper.class);
// User u = new User();
// u.setAccount("yyy");
// u.setPwd("123456");
// mapper.insertUser(u);
// System.out.println(mapper.selectUser(1));
}



