




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-1 简单CRUDpackage com.bjgx.model;public class User private int id;private String username;private String password;set . getcreate table t_user (ID integer not null auto_increment,USERNAME varchar(255),PASSWORD varchar(255),primary key(ID);select * from t_user;insert into t_user values(null, #username#, #password#);insert into t_user values(null, #username#, #password#);select identity as id;select * from t_user where id=#id#;update t_user set username=#username#, password=#password# where id=#id#;delete from t_user where id=#id#sqlMapConfig.xmlpackage com.bjgx.model;import java.io.IOException;import java.io.Reader;import java.sql.SQLException;import java.util.Iterator;import java.util.List;import junit.framework.TestCase;import mon.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class UserTest extends TestCase private static SqlMapClient sqlMapClient = null;private static Reader reader = null;static / 从配置文件中得到SqmMapClient对象try reader = Resources.getResourceAsReader(sqlMapConfig.xml);sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close(); catch (Exception e) e.printStackTrace();public void testCreateUser() throws Exception / 创建用户数据for (int i = 0; i 10; i+) User user = new User();user.setUsername(用户 + i);user.setPassword(密码 + i);Integer ii = (Integer)sqlMapClient.insert(insertUser, user);System.out.println(ii);public void testQueryForList() throws Exception List users = sqlMapClient.queryForList(selectAllUser);for (Iterator iterator = users.iterator(); iterator.hasNext();) User user = (User) iterator.next();System.out.println(user.getUsername();System.out.println(ok);public void testSearchUsers() throws Exception List users = sqlMapClient.queryForList(selectAllUser);for (Iterator iterator = users.iterator(); iterator.hasNext();) User user = (User) iterator.next();System.out.println(user.getUsername();System.out.println(ok);public void testFindUserById() throws Exception User user = (User) sqlMapClient.queryForObject(findUserById, new Integer(2);System.out.println(user.getUsername();public void testUpdateUser() throws Exception /更新用户的信息User user = new User();user.setId(3);user.setUsername(aaaaaaaaa);user.setPassword(bbbbbbbbbb);sqlMapClient.update(updateUser, user);public void testDeleteUser() throws ExceptionsqlMapClient.delete(deleteUser, 3);2 parameterClass可以使用这个属性来限制传入参数的类型insert into t_user values (null,#username#,#password#) insert into t_user values (null,#username#,#password#) package com.bjgx.model;public class JustAnObject private int id;private String username;private String password;private String otherproperty;package com.bjgx.model;import java.io.Reader;import java.util.Iterator;import java.util.List;import java.util.Random;import junit.framework.TestCase;import mon.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class UserTest extends TestCase private static SqlMapClient sqlMapClient = null;private static Reader reader = null;static / 从配置文件中得到SqmMapClient对象try reader = Resources.getResourceAsReader(sqlMapConfig.xml);sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close(); catch (Exception e) e.printStackTrace();public void testUser01() throws Exception / 创建用户数据User user = new User();user.setUsername(用户 + new Random().nextInt(9999);user.setPassword(密码 + new Random().nextInt(9999);/ 可以执行sqlMapClient.insert(insertUser01, user);public void testUser02() throws Exception / 创建用户数据JustAnObject user = new JustAnObject();user.setUsername(用户 + new Random().nextInt(9999);user.setPassword(密码 + new Random().nextInt(9999);/ 不可以执行,因为要求传入参数必须是User类型sqlMapClient.insert(insertUser01, user);public void testUser03() throws Exception / 创建用户数据User user = new User();user.setUsername(用户 + new Random().nextInt(9999);user.setPassword(密码 + new Random().nextInt(9999);/ 可以执行,因为不限制传入参数的类型sqlMapClient.insert(insertUser02, user);public void testUser04() throws Exception / 创建用户数据JustAnObject user = new JustAnObject();user.setUsername(用户 + new Random().nextInt(9999);user.setPassword(密码 + new Random().nextInt(9999);/ 可以执行,因为不限制传入参数的类型sqlMapClient.insert(insertUser02, user);3 parameterMap可以使用parameterMap来映射SQL语句中的?参数 insert into t_user values(null, ?, ?);public void testUser() throws Exception/从配置文件中得到SqlMapClient对象 Reader reader = Resources.getResourceAsReader(sqlMapConfig.xml);SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();/创建用户数据User user = new User();user.setUsername(用户+new Random().nextInt(9999);user.setPassword(密码+new Random().nextInt(9999);/可以执行sqlMapper.insert(insertUser, user);4 resultClass属性的使用如果对象的属性命名与数据库表字段的命名不一致,如何将查询结果映射到这个对象?【resultClass属性的使用】第一种做法:在写SQL语句的时候,给字段命别名(别名与对象的属性名一致)即可。public class User private int id;private String username;private String password;set. get.public class OtherObject private String prop1;private String prop2;private String other;set. get.select count(*) from t_user select username as prop1,password as prop2 from t_user where id=#value#;public class UserTest extends TestCase private SqlMapClient sqlMapClient = null;private Reader reader = null;Overrideprotected void setUp() throws Exception / 从配置文件中得到SqmMapClient对象try reader = Resources.getResourceAsReader(sqlMapConfig.xml);sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close(); catch (Exception e) System.out.println(setUp);public void testUser() throws Exception Object o = (Object) sqlMapClient.queryForObject(selectCountForOtherObject);System.out.println(o);public void testUser01() throws ExceptionOtherObject oo = (OtherObject)sqlMapClient.queryForObject(selectForOtherObject, 17);System.out.println(oo.getProp1();5 resultMap属性的使用如果对象的属性命名与数据库表字段的命名不一致,如何将查询结果映射到这个对象?【resultMap属性的使用】第二种做法:在写SQL语句的时候,无需给字段命别名,而是通过定义一个resultMap来明确映射字段与属性select username, password from t_user where id = #id#public void testUser01() throws ExceptionOtherObject oo = (OtherObject)sqlMapClient.queryForObject(selUserById, 17);System.out.println(oo.getProp1();6 定义resultClass=xml即可如何将查询结果转换为XML格式的数据?【定义resultClass=xml即可】如: select * from t_user select * from t_user where id =#value# public void testUser01() throws Exception Object oo = (Object) sqlMapClient.queryForObject(selectForOtherObject,17);System.out.println(oo);public void testUser02() throws Exception List result = sqlMapClient.queryForList(selectAllForOtherObject);for (Iterator iterator = result.iterator(); iterator.hasNext();) Object object = iterator.next();if(object instanceof String) System.out.println(object);7 parameterClass=”map”如何使用一个类型为java.util.Map的对象作为SQL语句的传入参数?【定义resultClass=map即可】insert into t_user values (null,#username#,#password#)public void testUser01() throws Exception / 从配置文件中得到SqlMapClient对象Reader reader = Resources.getResourceAsReader(sqlMapConfig.xml);SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();Map user = new HashMap();user.put(username, Map用户);user.put(password, Map用户密码);sqlMapper.insert(insertUser, user);8 resultClass=java.util.HashMap或别的Map类型如何将查询结果集转换为java.util.Map类型的对象?【可定义resultClass=java.util.HashMap或别的Map类型】public class User private int id;private String username;private String password;set. get.select * from t_userpublic void testUser01() throws Exception/从配置文件中得到SqlMapClient对象 Reader reader = Resources.getResourceAsReader(sqlMapConfig.xml);SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();List users = sqlMapper.queryForList(selectMapUsers);for (Iterator iterator = users.iterator(); iterator.hasNext();) Map map = (Map) iterator.next();System.out.println(map.get(ID); /ID是数据库里的字段,不是对象的属性System.out.println(map.get(USERNAME);System.out.println(map.get(PASSWORD);System.out.println(users);9 如何查询关联对象的数据? 第一种做法:在SQL查询语句中,联合两张表查询,通过命别名的方式往关联对象的属性赋值(注意一下关联数据的存储方式)public class Classes private int id;private String cname; set. get.public class Student private int id;private String name;private String sex;private Classes classes;set. get.create table t_classes (ID integer not null auto_increment,CNAME varchar(255),primary key(ID);create table t_student (ID integer not null auto_increment,NAME varchar(255),SEX varchar(255),CID integer,primary key(ID);insert into t_classes values (null,#cname#)select identity as idinsert into t_student values (null,#name#,#sex#,#classes.id#)select ,s.sex,s.cid as classes.id,ame as amefrom t_student s,t_classes cwhere s.cid = c.id and s.id = #id#public void testSaveClassesAndStudent() throws Exception / 从配置文件中得到SqlMapClient对象Reader reader = Resources.getResourceAsReader(sqlMapConfig.xml);SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();Classes c = new Classes();c.setCname(班级1);sqlMapper.insert(saveClasses, c);Student s = new Student();s.setClasses(c);s.setName(张三);s.setSex(男);sqlMapper.insert(saveStudent, s);public void testFindStudent() throws Exception / 从配置文件中得到SqlMapClient对象Reader reader = Resources.getResourceAsReader(sqlMapConfig.xml);SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();Student s = (Student) sqlMapper.queryForObject(findStudent, 1);System.out.println(s.getName() + ,所在的班级是: + s.getClasses().getCname();10 如何查询关联对象的数据?从多一段查询 第二种做法:定义resultMap,通过第二条查询语句查询关联的对象insert into t_classes values(null,#cname#);select identity as id;select * from t_classes where id = #id#;insert into t_student values (null, #name#, #sex#, #classes.id#)select * from t_student where id=#id#public class Classes private int id;private String cname; set. get.public class Student private int id;private String name;private String sex;private Classes classes;set. get.create table t_classes (ID integer not null auto_increment,CNAME varchar(255),primary key(ID);create table t_student (ID integer not null auto_increment,NAME varchar(255),SEX varchar(255),CID integer,primary key(ID);import java.util.List;import junit.framework.TestCase;import mon.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class ClassesAndStudentTest extends TestCase public void testSaveClassesAndStudent() throws Exception / 从配置文件中得到SqlMapClient对象Reader reader = Resources.getResourceAsReader(sqlMapConfig.xml);SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();Classes c = new Classes();c.setCname(班级1);sqlMapper.insert(saveClasses, c);Student s = new Student();s.setClasses(c);s.setName(张三);s.setSex(男);sqlMapper.insert(saveStudent, s);public void testFindStudent() throws Exception / 从配置文件中得到Sq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品进度跟踪管理制度
- 人员车辆安全管理制度
- 企业环保设施管理制度
- 代工企业车间管理制度
- 人员监控设备管理制度
- 会计业务收费管理制度
- 仓库库存破损管理制度
- 乐器培训薪酬管理制度
- 产品运输交付管理制度
- 产房护理带教管理制度
- 农村水利申请书范文
- 绍兴市部分市属国企招聘笔试冲刺题2025
- (自考)经济学原理中级(政经)课件 第五章 资本主义经济危机与历史发展
- 英伦历史文化拾遗知到智慧树章节测试课后答案2024年秋哈尔滨师范大学
- 会计案例分析-终结性考核-国开(SC)-参考资料
- (练习)专题06 明清时期:统一多民族国家的巩固与发展(解析版)
- 共话五千年传承根与魂主题团日活动
- 夜市经营安全应急预案
- 培训学校学生管理制度
- 2024年部编版初中七年级下册地理期末测试卷(6套)
- 集中式光伏安装劳务承包合同模板(2篇)
评论
0/150
提交评论