g.test Mybatis并不是一种全自动化的ORM框架,而是半自动化的ORM框架,开发人员可以直接编写SQL语句进行操作,更加灵活。ORM即Object/Relation Mapping,将对数据库的操作改为对对应的持久化类
Mybatis并不是一种全自动化的ORM框架,而是半自动化的ORM框架,开发人员可以直接编写SQL语句进行操作,更加灵活。 ORM即Object/Relation Mapping,将对数据库的操作改为对对应的持久化类进行操作,从而对数据库操作。 Mybatis是通过配置xml文件来完成持久化类与数据库表之间的映射关系的。 例子: //通常namespace采用包+sql映射文件名来保证唯一性//id属性是唯一的,不能重复,parameterType表示要传用的参数类型 mybatis-config.xml配置文件中可以设置别名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表示返回的类型,可以采用别名的配置方法接下来一个完整的简单例子: 数据库表名: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文件 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(); } } insert into tb_user(name,sex,age) values(#{name},#{sex},#{age})