一、准备所需工具(jar包和数据库驱动)
网上搜索下载就可以
二、新建一个Java project
1、将下载好的包导入项目中,build path
2、编写MyBatis配置文件:主要填写property标签中的四个value
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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <!--数据库驱动、路径、用户名、密码 --> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/hr_oa" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers> <!--resource是映射文件的路径 --> </mappers> </configuration>
3、建数据库对应的实体类
package cn.mg39.ssm01.entity; import java.io.Serializable; /** *实体类 SysGroup * */ public class SysGroup implements Serializable{ private static final long serialVersionUID = 1L; private Integer id; //主键id private String name; //分组名 private String remark; //备注 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public SysGroup() { super(); // TODO Auto-generated constructor stub } public SysGroup(Integer id, String name, String remark) { super(); this.id = id; this.name = name; this.remark = remark; } public SysGroup(Integer id) { super(); this.id = id; } @Override public String toString() { return "SysGroup [id=" + id + ", name=" + name + ", remark=" + remark + "]"; } }
三、编写Dao接口
一些增删改查的方法
package cn.mg39.ssm01.dao; import java.util.List; import cn.mg39.ssm01.entity.SysGroup; /** * SysGroup的Dao * */ public interface SysGroupDao { /** * 增删改查接口 * @param sysGroup * @return */ public Integer insert(SysGroup sysGroup); public Integer delete(SysGroup sysGroup); public Integer update(SysGroup sysGroup); public List<SysGroup> selectAll(); public SysGroup selectById(SysGroup sysGroup); }
四、编写Mapper文件
SysGroupDaoMapper.xml
<?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"> <!--命名空间,在测试时需要调使用 ,可以为多个实体添加命名空间,只要nameSpace的值不同 --> <mapper namespace="cn.mg39.ssm01.dao.SysGroupDao"> <!--parameterType实体的全类名 (传给数据库的参数类型) --> <!--#后的变量名要和实体的变量名一致 --> <!--如果有外键,直接在变量名后.外键名。如 #{tbA.id} --> <!--增删改查 --> <insert id="insert" parameterType="cn.mg39.ssm01.entity.SysGroup"> insert into sys_group(name,remark) values(#{name},#{remark}) </insert> <delete id="delete" parameterType="cn.mg39.ssm01.entity.SysGroup"> delete from sys_group where id = #{id} </delete> <update id="update" parameterType="cn.mg39.ssm01.entity.SysGroup"> update sys_group set name = #{name} ,remark = #{remark} where id = #{id} </update> <select id="selectAll" resultType="cn.mg39.ssm01.entity.SysGroup"> select * from sys_group </select> <!--resultType(返回值类型,只有查询全部时需要,因为要接收传回的数据) --> <select id="selectById" parameterType="cn.mg39.ssm01.entity.SysGroup" resultType="cn.mg39.ssm01.entity.SysGroup"> select * from sys_group where id = #{id} </select> </mapper>
五、在myBatis-config.xml中添加映射
在myBatis-config.xml的<mappers>中添加Mapper映射,测试时会找mapper
<mappers> <!--resource是映射文件的路径,Mapper文件放在cn.mg39.ssm01.dao下。 --> <mapper resource="cn/mg39/ssm01/dao/SysGroupDaoMapper.xml" /> </mappers>
六、测试数据操作
1、插入数据
(删除,修改和插入差不多)
package cn.mg39.ssm01.test; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import cn.mg39.ssm01.entity.SysGroup; /** * mybatis的增加测试 * */ public class InsertSysGroup { public static void main(String[] args) throws IOException { //1、读取配置文件 Reader reader = Resources.getResourceAsReader("myBatis-config.xml"); //2、创建sqlSessionFactoryBuilder(工人) SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3、创建SqlSessionFactory(建厂,将配置文件加入工厂) SqlSessionFactory factory = builder.build(reader); //4、打开SqlSession(通过工厂加工需要的数据) SqlSession session = factory.openSession(); //5、操作数据(实例化对象) SysGroup sysGroup = new SysGroup(); //id是自增长,不需要插入 //插入外键的操作 //sysGroup.set外键名(new 外键表(数据)); sysGroup.setName("测试数据的name"); sysGroup.setRemark("测试数据的remark"); //命名空间+id,通过session找配置文件,再通过配置文件找到映射文件, //再通过命名空间找到需要进行数据操作的实体,通过id名找到对象的CRUD操作。将实例化的对象作为参数传过去 //最后存session int rows = session.insert("cn.mg39.ssm01.dao.SysGroupDao.insert", sysGroup); System.out.println(rows > 0 ? "插入成功":"插入失败"); //6、提交事务(查询全部不需要提交事务) session.commit(); //7、关闭sqlSession session.close(); } }
2、查询全部数据
package cn.mg39.ssm01.test; import java.io.IOException; import java.io.Reader; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import cn.mg39.ssm01.entity.SysGroup; public class SelectAllSysGroup { public static void main(String[] args) throws IOException { // 加载配置文件 Reader reader = Resources.getResourceAsReader("myBatis-config.xml"); // 工人 SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder(); // 工厂 SqlSessionFactory ssf = ssfb.build(reader); // 打开session SqlSession session = ssf.openSession(); // 操作数据(查询全部不需要传递参数给数据库) SysGroup sysGroup = new SysGroup(); List<SysGroup> list = session.selectList("cn.mg39.ssm01.dao.SysGroupDao.selectAll"); //循环list取值 for (SysGroup sys : list) { //将获取到的数据赋值给对象,最后打印 sysGroup.setId(sys.getId()); sysGroup.setName(sys.getName()); sysGroup.setRemark(sys.getRemark()); System.out.println(sysGroup); } // 提交事务(可不写) session.commit(); // 关闭session session.close(); } }