Mybatis框架面向的是接口编程思想
Mybatis操作步骤
0 新建web项目
1:考入jar包(到 lib 下面 链接数据库的包(Oracle包或者 MySql包),和mybatis-3.1.1.jar包
mybatis-3.1.1.jar包
里面加载接口的xxx.xml文件
这个xxx.xml和接口放在同一个包下面
接口和.xml写在同一个包下面
每个.xml文件下面实现自己的方法;
2(和src同级目录)把 MyBatisConfiguration 文件放进去)
3在src同级目录 新建file文件并命名db.properties
a=com.mysql.jdbc.Driver
b=jdbc:mysql://localhost:3306/aaa?characterEncoding=utf-8
c=root
d=eduask
4:建包 (创建一个com.mapper包 (在该包下面新建Mapper.xml ))
操作步骤 右击new XML(Basic Templates)
5:Mapper包下面写接口(实体类的方法(增。删。改。查的接口方法))
5:加载数据源信息
•dataSource加载数据源信息 type="POOLED"数据库连接池
value="${a(键名)}在资源文件取值取得是键名
mappers>
=========================
MyBatisConfiguration.xml配置路径下面的
mapperresource="Mapper/Mapper.xml"/>
映射的是包下面的接口下的xxx.xml文件
定义xml文件
右击new-- XML(Basic Templates)
从MyBatisConfiguration.xml复制过来,把里面的config改成mapper关键字,注意大小写,3处
在里面写增 删 改 查 方法
===========================
定义控制层(Servlet)
StuMapper.xml:中定义的dtd协议,规定当前xml文件中合法的标签!(在线搜索必须有网络,否则一些标签用快捷方式获取不了)
没网络的解决办法?(操作步骤)
分页 RowBounds br=new RowBounds(1,2);
List list= session.selectList(“selall”, null, br);
打成对象
传对象里面的参数值用 JSONObject(导5个包)
JSONObject json =JSONObject.fromObject(stu);
response.getWriter().write(json.toString());
打成数组
传多个对象过去就打成数组 JSONArray
例子Biz sb = new Biz();
List list = sb.chaall();
request.setAttribute("list",list);
JSONArray jsons=JSONArray.fromObject(list);
//怎么理解?
response.getWriter().write(jsons.toString());
===================================================================
控制层
Biz sb = new Biz();
List list = sb.chaall();
//传对象
request.setAttribute("list",list);
try {
//转发
RequestDispatcher tt=request.getRequestDispatcher("stu.jsp");
tt.forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
============================================================================================
添加 和 查询 有参数类型
添加
查询*
//
•没问题就可以写增删改查的语句了
•一般用#()
•而不用s()
创建实例
Stu s=new Stu();
s.setName("哈哈")
s.setSex(15);
方法 实参
session.insert("saveStu",s); 添加 参数是StuMapper.xml中定义的方法,和实参
session.delete("delStu1",s);
session.delete("delStu2",2);
session.update("updateStu",s);
•//事务层和接口的实现长得很像 注意区别是 里面有单例模式
public List selAll(int bid){
SqlSession session = null;
List list = new ArrayList();
try{
SqlSessionFactory sf = SessionFactoryUtil.getSqlSessionFactory();
session = sf.openSession();
list = session.selectList("selAll");
session.commit();
}catch(Exception e){
e.printStackTrace();
session.rollback();
}finally{
session.close();
}
return list;
}
mybatis:持久层框架:CRUD Ibatis:就是mybatis老版本,把jdbc封装在mybatis-3.1.1.jar
======================================
1:考入jar包
2:新建mapper包,就是原来dao包!
3:需要一个mybatis的核心xml文件!会改就行!MyBatisConfiguration.xml,放在src根目录!
4:在MyBatisConfiguration.xml文件中:需要加载实体映射文件(就是对实体描述有哪些操作!,StuMapper.xml,放在mapper包中!)
5:StuMapper.xml:添加dtd协议头:从MyBatisConfiguration.xml复制过来,把里面的config改成mapper关键字,注意大小写,3处
6:新建main函数测试:
==========================================
RowBounds br = new RowBounds(4,3); 分页 下标从4开始,截取3行数据,和limit后面的参数含义一样!
List list = session.selectList("selAll",null,br);
session.commit();
//session.rollback();
session.close();
====================================