iBatis简单入门教程.doc_第1页
iBatis简单入门教程.doc_第2页
iBatis简单入门教程.doc_第3页
iBatis简单入门教程.doc_第4页
iBatis简单入门教程.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

iBatis简单入门教程iBatis 简介:iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快。如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了。官网为:/搭建iBatis 开发环境:1 、导入相关的jar 包,ibatis-77.jar 、mysql-connector-java-5.1.6-bin.jar2 、编写配置文件:Jdbc 连接的属性文件总配置文件, SqlMapConfig.xml关于每个实体的映射文件(Map 文件) Demo :Student.java:Java代码 1 package com.iflytek.entity;23 import java.sql.Date;45 /*6 * author xudongwang 2011-12-317 *8 * Email:9 *10 */11 public class Student 12 / 注意这里需要保证有一个无参构造方法,因为包括Hibernate在内的映射都是使用反射的,如果没有无参构造可能会出现问题13 private int id;14 private String name;15 private Date birth;16 private float score;1718 public int getId() 19 return id;20 2122 public void setId(int id) 23 this.id = id;24 2526 public String getName() 27 return name;28 2930 public void setName(String name) 31 = name;32 3334 public Date getBirth() 35 return birth;36 3738 public void setBirth(Date birth) 39 this.birth = birth;40 4142 public float getScore() 43 return score;44 4546 public void setScore(float score) 47 this.score = score;48 4950 Override51 public String toString() 52 return id= + id + tname= + name + tmajor= + birth + tscore=53 + score + n;54 5556 SqlMperties :Properties代码 57 driver=com.mysql.jdbc.Driver58 url=jdbc:mysql:/localhost:3306/ibatis59 username=root60 password=123 Student.xml :Xml代码 61 62 6465 66 67 6869 70 71 72 select * from73 tbl_student74 7576 77 78 79 select * from tbl_student where id=#id#80 8182 83 85 select name,birth,score from tbl_student where name like86 %$name$%87 8889 90 insert into91 tbl_student(name,birth,score) values92 (#name#,#birth#,#score#);93 94 select identity as inserted95 96 97 98 99 101 102 103104 105 106 107 delete from tbl_student where id=#id#108 109110 111 update tbl_student set112 name=#name#,birth=#birth#,score=#score# where id=#id#113 114115 说明:如果xml 中没有ibatis 的提示,则window - Preference- XML-XML Catalog- 点击add选择uri URI: 请选择本地文件系统上iBatisDemo1/WebContent/WEB-INF/lib/sql-map-config-2.dtd 文件;Key Type: 选择Schema Location;Key: 需要联网的,不建议使用;SqlMapConfig.xml :Xml代码 116 117 119120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 StudentDao :Java代码 136 package com.iflytek.dao;137138 import java.util.List;139140 import com.iflytek.entity.Student;141142 /*143 * author xudongwang 2011-12-31144 *145 * Email:146 *147 */148 public interface StudentDao 149150 /*151 * 添加学生信息152 *153 * param student154 * 学生实体155 * return 返回是否添加成功156 */157 public boolean addStudent(Student student);158159 /*160 * 根据学生id删除学生信息161 *162 * param id163 * 学生id164 * return 删除是否成功165 */166 public boolean deleteStudentById(int id);167168 /*169 * 更新学生信息170 *171 * param student172 * 学生实体173 * return 更新是否成功174 */175 public boolean updateStudent(Student student);176177 /*178 * 查询全部学生信息179 *180 * return 返回学生列表181 */182 public List selectAllStudent();183184 /*185 * 根据学生姓名模糊查询学生信息186 *187 * param name188 * 学生姓名189 * return 学生信息列表190 */191 public List selectStudentByName(String name);192193 /*194 * 根据学生id查询学生信息195 *196 * param id197 * 学生id198 * return 学生对象199 */200 public Student selectStudentById(int id);201202 StudentDaoImpl :Java代码 203 package com.iflytek.daoimpl;204205 import java.io.IOException;206 import java.io.Reader;207 import java.sql.SQLException;208 import java.util.List;209210 import mon.resources.Resources;211 import com.ibatis.sqlmap.client.SqlMapClient;212 import com.ibatis.sqlmap.client.SqlMapClientBuilder;213 import com.iflytek.dao.StudentDao;214 import com.iflytek.entity.Student;215216 /*217 * author xudongwang 2011-12-31218 *219 * Email:220 *221 */222 public class StudentDaoImpl implements StudentDao 223224 private static SqlMapClient sqlMapClient = null;225226 / 读取配置文件227 static 228 try 229 Reader reader = Resources230 .getResourceAsReader(com/iflytek/entity/SqlMapConfig.xml);231 sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);232 reader.close();233 catch (IOException e) 234 e.printStackTrace();235 236 237238 public boolean addStudent(Student student) 239 Object object = null;240 boolean flag = false;241 try 242 object = sqlMapClient.insert(addStudent, student);243 System.out.println(添加学生信息的返回值: + object);244 catch (SQLException e) 245 e.printStackTrace();246 247 if (object != null) 248 flag = true;249 250 return flag;251 252253 public boolean deleteStudentById(int id) 254 boolean flag = false;255 Object object = null;256 try 257 object = sqlMapClient.delete(deleteStudentById, id);258 System.out.println(删除学生信息的返回值: + object + ,这里返回的是影响的行数);259 catch (SQLException e) 260 e.printStackTrace();261 262 if (object != null) 263 flag = true;264265 266 return flag;267268 269270 public boolean updateStudent(Student student) 271 boolean flag = false;272 Object object = false;273 try 274 object = sqlMapClient.update(updateStudent, student);275 System.out.println(更新学生信息的返回值: + object + ,返回影响的行数);276 catch (SQLException e) 277 e.printStackTrace();278 279 if (object != null) 280 flag = true;281 282 return flag;283 284285 public List selectAllStudent() 286 List students = null;287 try 288 students = sqlMapClient.queryForList(selectAllStudent);289 catch (SQLException e) 290 e.printStackTrace();291 292 return students;293 294295 public List selectStudentByName(String name) 296 List students = null;297 try 298 students = sqlMapClient.queryForList(selectStudentByName,name);299 catch (SQLException e) 300 e.printStackTrace();301 302 return students;303 304305 public Student selectStudentById(int id) 306 Student student = null;307 try 308 student = (Student) sqlMapClient.queryForObject(309 selectStudentById, id);310 catch (SQLException e) 311 e.printStackTrace();312 313 return student;314 315 TestIbatis.java :Java代码 316 package com.iflytek.test;317318 import java.sql.Date;319 import java.util.List;320321 import com.iflytek.daoimpl.StudentDaoImpl;322 import com.iflytek.entity.Student;323324 /*325 * author xudongwang 2011-12-31326 *327 * Email:328 *329 */330 public class TestIbatis 331332 public static void main(String args) 333 StudentDaoImpl studentDaoImpl = new StudentDaoImpl();334335 System.out.println(测试插入);336 Student addStudent = new Student();337 addStudent.setName(李四);338 addStudent.setBirth(Date.valueOf(2011-09-02);339 addStudent.setScore(88);340 System.out.println(studentDaoImpl.addStudent(addStudent);341342 System.out.println(测试根据id查询);343 System.out.println(studentDaoImpl.selectStudentById(1);344345 System.out.println(测试模糊查询);346 List mohuLists = studentDaoImpl.selectStudentByName(李);347 for (Studen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论