不要在傻逼的时候学习,更不要在傻逼的时候写代码,嘿嘿。写完这篇就睡,嘎嘎。
1. mybatis是我目前见过最小的框架,跟hibernate相比,小的太多。最新版的3.2.2下载下来一看,源码都没有。只要先用的3.1.1。帮助文档也就是个简单的pdf。
2.环境搭建:
添加2个必须的jar包,一个mybatis,一个mysql-connector。
在src下编写配置文件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>
<properties resource="jdbc.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="jdbc"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="itat/zttc/shop/model/UserMapper.xml"/>
</mappers>
</configuration>
注:jdbc.properties中是关于数据库的的配置。同样在src下。
3. 在User类所在的包下写对应的map配置文件,如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="itat.zttc.shop.model.User">
<insert id="add" parameterType="itat.zttc.shop.model.User">
insert into t_user (username,password,nickname)
value(#{username},#{password},#{nickname})
</insert>
<update id="update" parameterType="itat.zttc.shop.model.User">
update t_user set username=#{username}, password=#{password},nickname=#{nickname} where id = #{id}
</update>
</mapper>
4.测试代码:
private static void testUpdate() {
try {
//1、创建配置文件(mybatis-config.xml)的输入流
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//2、创建SQLSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//3、创建SQLSessioin
SqlSession session = factory.openSession();
//4、调用mapper文件插入数据(调用之前需要将mapper文件加入到mybatis-config.xml中)
User u = new User();
u.setNickname("孙悟空");
u.setPassword("333");
//u.setType(0);
u.setUsername("wukong");
u.setId(9);
session.update("itat.zttc.shop.model.User.update",u);
session.commit();
session.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void testAdd() {
try {
//1、创建配置文件(mybatis-config.xml)的输入流
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//2、创建SQLSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//3、创建SQLSessioin
SqlSession session = factory.openSession();
//4、调用mapper文件插入数据(调用之前需要将mapper文件加入到mybatis-config.xml中)
User u = new User();
u.setNickname("孙悟空");
u.setPassword("123");
// u.setType(0);
u.setUsername("wukong");
session.insert("itat.zttc.shop.model.User.add", u);
session.commit();
session.close();
} catch (IOException e) {
e.printStackTrace();
}
}