ibatis.doc

上传人:hw****26 文档编号:3551482 上传时间:2019-06-04 格式:DOC 页数:11 大小:174KB
下载 相关 举报
ibatis.doc_第1页
第1页 / 共11页
ibatis.doc_第2页
第2页 / 共11页
ibatis.doc_第3页
第3页 / 共11页
ibatis.doc_第4页
第4页 / 共11页
ibatis.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 ibatis1ibatis和 hirbernate(连接数据库)的作用相同ibatis 是处理 SQL 的框架ibatis3.0 又称为 MyBatis环境搭建1)导包:导入 ibatis 的 jar 包 ,导入连接的数据库的包2)配置文件:总配置文件(负责管理其他项关联的文件)-连接数据库-jdbc 的文件SqlMapConfig.properties-关于每个实体类的映射文件,也可叫做 map 文件SqlMapConfig.xml 文件头ibatis23)数据库配置文件:SqlMapConfig.properties#连接 Oracle 数据库#driver=oracle.jdbc.Or

2、acleDriver#url=jdbc:oracle:thin:localhost:1521:orcl#username=scott#password=sjw#连接 Mysqldriver=com.mysql.jdbc.Driverurl=jdbc:mysql:/localhost:3306/testusername=rootpassword=root改编码:右键-properties-Rescource-text file encoding-other-utf-84) Map 文件User.javapackage com.cstp.domain;public class User priva

3、te int uid;private String uname;private String upwd;public int getUid() return uid;public void setUid(int uid) this.uid = uid;public String getUname() return uname;ibatis3public void setUname(String uname) this.uname = uname;public String getUpwd() return upwd;public void setUpwd(String upwd) this.u

4、pwd = upwd;5)UserDao.java(接口)package com.cstp.dao;import java.util.List;import com.cstp.domain.User;public interface UserDao public List findAll();public void insert(User user);public void updateById(User user);public User findById(int uid);public void delById(int id);public List findByName(String n

5、ame);6)SqlMapClientUtil.javapackage com.cstp.ibatis;import java.io.IOException;import java.io.Reader;import mon.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class SqlMapClientUtil private static SqlMapClient sqlMap;static

6、 /静态块?一实例化这个对象时就加载 statictry String resource = “com/cstp/ibatis/SqlMapConfig.xml“;Reader reader = Resources.getResourceAsReader(resource);ibatis4sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();public static SqlMapClie

7、nt getsqlMapClient()return sqlMap;7)UserDaoImpl.java(继承接口 UserDao)package com.cstp.dao;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.cstp.domain.User;import com.cstp.ibatis.SqlMapClientUtil;import com.ibatis.sqlmap.client.SqlMapClient;public class UserDaoIm

8、pl implements UserDao SqlMapClient sqlMap = SqlMapClientUtil.getsqlMapClient();public List findAll() List list = null;try list = sqlMap.queryForList(“selectAll“); catch (SQLException e) e.printStackTrace();return list;public void insert(User user) try sqlMap.insert(“insert“, user);System.out.println

9、(“插入成功“); catch (SQLException e) e.printStackTrace();public void updateById(User user) ibatis5try sqlMap.update(“update“, user);System.out.println(“更新成功“); catch (SQLException e) e.printStackTrace();public User findById(int uid) User user = null;try user = (User) sqlMap.queryForObject(“findById“,uid

10、); catch (SQLException e) e.printStackTrace();return user;public void delById(int id) try sqlMap.delete(“delById“, id);System.out.println(“删除成功“); catch (SQLException e) e.printStackTrace();public List findByName(String name) List list = new ArrayList();try list = sqlMap.queryForList(“findByName“, n

11、ame); catch (SQLException e) e.printStackTrace();return list;/测试public static void main(String args) /查找全部UserDaoImpl dao = new UserDaoImpl();/ dao.findAll();/ for(User user : dao.findAll()/ System.out.println(user.getUname();/ ibatis6/插入数据/ User user = new User();/ user.setUname(“wyy“);/ user.setUp

12、wd(“111“);/ user.setUid(7);/ dao.insert(user);/更新数据/ User user = new User();/ user.setUname(“oo“);/ user.setUpwd(“111“);/ user.setUid(7);/ dao.updateById(user);/按 id 查找/ System.out.println(dao.findById(8);/按 id 删除/ dao.delById(8);/模糊查询for(User user : dao.findByName(“ad“)System.out.println(user.getUn

13、ame(); 8)User.xmlselect * from user1insert into user1(uid,uname,upwd) ibatis7values(#uid#,#uname#,#upwd#)update user1 set uname=#uname#,upwd=#upwd# where uid=#uid#select * from user1 where uid=#uid#delete from user1 where uid=#uid#select * from user1 where uname like %$uname$%注意:1)user1 表是没有主键的2)sql

14、 语句的#相当于占位符,作用相当于?3)模糊查询的时候,不用#而用$重点:如果表是有主键自动增长的(相当于先查一遍 id 在插入)select last_insert_id() from user limit 1insert into user(uid,uname,upwd) values(#uid#,#uname#,#upwd#)public void addUserBySequence(User user) try /1.从数据库序列中读取主键值/2.往 user 表中插入记录sqlMap.insert(“insertUserBySequence“,user);/System.out.pr

15、intln(“uid = “+user.getUid(); catch (SQLException e) e.printStackTrace();ibatis8/带主键的插入数据User user = new User();user.setUname(“dingding“);user.setUpwd(“321“);userDao.addUserBySequence(user);重要问题select * from usersibatis9alias 和 type 的顺序不能改变,否则报错错误信息类似: 严重: IOException while loading persisted session

16、s: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.cstp.domain.Usersjava.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.cstp.domain.UsersIbatis 多表查询1)表结构Emp 表Department 表2)Emp.javapublic class Emp private int id;private String u

17、sername;private String sex;private Dept dept;/ private int deptno;public int getId() return id;public void setId(int id) this.id = id;ibatis11public String getUsername() return username;public void setUsername(String username) this.username = username;public String getSex() return sex;public void setSex(String sex) this.sex = sex;/ public int getDeptno() / return deptno;/ / public void setDeptno(int deptno) / this.deptno = deptno;/ public Dept getDept() return dept;public void setDept(Dept dept) this.dept = dept;3)Emp.xml

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。