本文共计550个文字,预计阅读时间需要3分钟。

g.test Mybatis 是一种半自动化的ORM框架,开发者可以直接编写SQL语句进行操作,增加灵活性。ORM即对象/关系映射,它将数据库操作转化为对持久化类的操作。

g.test
Mybatis并不是一种全自动化的ORM框架,而是半自动化的ORM框架,开发人员可以直接编写SQL语句进行操作,更加灵活。
ORM即Object/Relation Mapping,将对数据库的操作改为对对应的持久化类进行操作,从而对数据库操作。
Mybatis是通过配置xml文件来完成持久化类与数据库表之间的映射关系的。
例子:
//通常namespace采用包+sql映射文件名来保证唯一性
//id属性是唯一的,不能重复,parameterType表示要传用的参数类型
insert into t_user(user_name,user_age) values(#{userName},#{age})
update t_user set user_name=#{userName},user_age=#{age} where user_id=#{id}
delete from t_user where user_id=#{id}
//resultType表示返回的类型,可以采用别名的配置方法
mybatis-config.xml配置文件中可以设置别名
接下来一个完整的简单例子:
数据库表名:tb_user
结构:
CREATE TABLE `tb_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(18) DEFAULT NULL,
`sex` varchar(6) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
Mapper映射,包括接口和xml文件
JAVA类
public interface UserMapper {
void save(User user);
}
JAVA的xml文件
insert into tb_user(name,sex,age) values(#{name},#{sex},#{age})
Mybatis配置文件:
测试类:
public class MybatisTest {
public static void main(String arg[]) throws Exception{
//读取配置文件
InputStream inputstream=Resources.getResourceAsStream("config/mybatis-config.xml");
//初始化,创建sqlSessionFactory实例
SqlSessionFactory sqlSessionFactoty=new SqlSessionFactoryBuilder().build(inputstream);
SqlSession session=sqlSessionFactoty.openSession();
User user=new User("admin1","男",26);
session.insert("com.mapper.UserMapper.save",user);
session.commit();
session.close();
}
}