三大框架SSM——Mybatis(1)
Mybatis入门第一天
mybatis的实现分为7个步骤,如下图:
1.下载需要的jar包(一般是以下几个jar包)
2.部署MyBatis的jar包
创建一个folder(文件夹)lib,把下载的jar包复制粘贴到lib里面,选中所有的所有jar包文件,右击——Bulid Parh——Configure Bulid Path,之后所有的jar包文件会部署到Referenced Libraried里
3.编写MyBatis配置文件
在src文件夹里创建一个xml文件(mybatis-config.xml)黄色背景的是需要根据自己电脑和数据库信息更改的,student是数据库,root和88622688是电脑mysql的账号密码
<?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/student?characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="88622688"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="cn/jbit/mybatisdemo/dao/StuDaoMapper.xml"/>
</mappers>
</configuration>
4.创建实体类和数据库接口
创建实体类文件夹cn.jbit.mybatisdemo.entity 创建文件Stu.class
package cn.jbit.mybatisdemo.entity;
public class Stu {
private String sid;
private String sname;
private Integer sage;
private String sgender;
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public Integer getSage() {
return sage;
}
public void setSage(Integer sage) {
this.sage = sage;
}
public String getSgender() {
return sgender;
}
public void setSgender(String sgender) {
this.sgender = sgender;
}
}
创建数据口接口文件夹cn.jbit.mybatisdemo.dao,创建接口文件IStuDao.java
package cn.jbit.mybatisdemo.dao;
import java.util.List;
import cn.jbit.mybatisdemo.entity.Stu;
public interface IStuDao {
public List<Stu> selectAll();
}
5.创建映射文件
在cn.jbit.mybatisdemo.dao目录下创建映射文件StuDaoMapper.xml,这里面很多东西都是固定不变得,只需要部分修改,蓝色部分是命名空间,一定要和接口文件的地址一致,resultType是返回类型,这里返回的是一个Stu对象,查询语句不加逗号
<?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="cn.jbit.mybatisdemo.dao.IStuDao">
<select id="selectAll" resultType="cn.jbit.mybatisdemo.entity.Stu">
select * from stu
</select>
</mapper>
6.编写接口的实现类
创建实现文件夹cn.jbit.mybatisdemo.impl,在改目录下创建实现类StuDaoImpl.java,实现类里面也有很多是重复的
package cn.jbit.mybatisdemo.impl;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
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.jbit.mybatisdemo.dao.IStuDao;
import cn.jbit.mybatisdemo.entity.Stu;
public class StuDaoImpl implements IStuDao{
@Override
public List<Stu> selectAll() {
String resource = "mybatis-config.xml";
Reader reader = null;
SqlSessionFactory factory = null;
SqlSession session = null;
List<Stu> list = new ArrayList<Stu>();//创建范式list,这是返回的数据
try {
reader = Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
factory = builder.build(reader);
session = factory.openSession();
//这句话是重点
list = session.selectList("cn.jbit.mybatisdemo.dao.IStuDao.selectAll");//选到接口文件下的接口selectAll
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally {
session.close();
}
return list;//返回范式list
}
}
7.编写测试类进行测试
写测试类
package test;
import java.util.List;
import cn.jbit.mybatisdemo.dao.IStuDao;
import cn.jbit.mybatisdemo.entity.Stu;
import cn.jbit.mybatisdemo.impl.StuDaoImpl;
public class Stutest {
public static void main(String []args){
IStuDao stu = new StuDaoImpl();//创建实现类对象,之后就可以对实现类里面的方法进行操作。
List<Stu> list = stu.selectAll();
for(Stu li :list){
System.out.println(li.getSid()+li.getSname()+li.getAge()+li.getGender());
}
}
}
目前所用到的包和类还不多,从上到下是,接口、实现、实体、和测试。