- 浏览: 833132 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (363)
- 2010年3月 (3)
- 2010年4月 (3)
- Java (116)
- ExtJs (22)
- EJB3.0 (11)
- JQuery (28)
- SqlServer (5)
- Oracle (17)
- hibernate (21)
- struts2 (14)
- php (10)
- JavaScript (11)
- jbpm (6)
- spring (24)
- lucene (2)
- ibatis (7)
- C# (8)
- mysql (11)
- json (3)
- webservice (3)
- 设计模式 (1)
- jdbc (1)
- servlet (2)
- ice (6)
- 日常软件问题 (2)
- 生活 (2)
- iphone (1)
- rest (3)
- ruby (2)
- linux (13)
- quartz (1)
- poi (1)
- redis (13)
- memcached (4)
- nosql (2)
- tomcat调优 (1)
- 项目管理 (0)
最新评论
-
天使建站:
jquery里和数组相关的操作 附带具体的实例 ...
jquery对象数组 -
Cy0941:
$('#formId').form('submit',...) ...
easyui的form表单提交处理 -
shmily2038:
swifth 写道楼主,,你的命令写错啦,,[root@ser ...
centos直接yum安装nginx -
swifth:
楼主,,你的命令写错啦,,[root@server ~]# y ...
centos直接yum安装nginx -
随遇而安DXX:
...
REST
实例实现了6个基本功能:
1.向数据库student表插入一条数据
2.删除student表的所有数据
3.删除student表指定ID的数据
4. 更新student表指定ID的数据
5.查询student表的所有数据
6.查询student表的指定ID数据
使用的是oracle数据库
你也可以去下载我上传的资源“ibatis实例程序”,里面包含了3个ibatis的jar包、1个oracle的驱动包和所有的程序代码。。
我的编程实例从创建SqlMapConfig.xml文件开始
第一步:编写SqlMapConfig.xml文件
1. <?xml version="1.0" encoding="UTF-8" ?>
2. <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
3. <sqlMapConfig>
4.
5. <properties resource="SqlMapConfig.properties" />
6.
7. <transactionManager type="JDBC">
8. <dataSource type="SIMPLE">
9. <property name="JDBC.Driver" value="${driver}" />
10. <property name="JDBC.ConnectionURL" value="${url}" />
11. <property name="JDBC.Username" value="${username}" />
12. <property name="JDBC.Password" value="${password}" />
13.
14. </dataSource>
15. </transactionManager>
16.
17. <sqlMap resource="sqlMap_student.xml" />
18.
19. </sqlMapConfig>
1. <?xml version="1.0" encoding="UTF-8" ?>
2. <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
3. <sqlMapConfig>
4.
5. <properties resource="SqlMapConfig.properties" />
6.
7. <transactionManager type="JDBC">
8. <dataSource type="SIMPLE">
9. <property name="JDBC.Driver" value="${driver}" />
10. <property name="JDBC.ConnectionURL" value="${url}" />
11. <property name="JDBC.Username" value="${username}" />
12. <property name="JDBC.Password" value="${password}" />
13.
14. </dataSource>
15. </transactionManager>
16.
17. <sqlMap resource="sqlMap_student.xml" />
18.
19. </sqlMapConfig>
SqlMapConfig.xml文件包含另外2个
资源文件SqlMapConfig.properties(SqlMapConfig.xml文件中引用这里定义的4个值,一般编程会把各种数据库的连接方法都写于此,以便下次调用各种不同数据库之间的使用)
1. ##### Oracle #####
2.
3. driver=oracle.jdbc.driver.OracleDriver
4. url=jdbc:oracle:thin:@localhost:1521:name
5. usernameusername=username
6. passwordpassword=password
7. ##### Oracle #####
8.
9. driver=oracle.jdbc.driver.OracleDriver
10. url=jdbc:oracle:thin:@localhost:1521:name
11. username=username
12. password=password
资源文件sqlMap_student.xml(具体的sql文执行语句)
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
3.
4. <sqlMap namespace="Test">
5.
6. <statement id="insert_student"
7. parameterClass="zh2208.dto.StudentDto">
8. insert into student(
9. id,name,age,sex,address) values(
10. #id#,#name#,#age#,#sex#,#address# )
11. </statement>
12.
13. <statement id="delete_all_student">
14. delete from student
15. </statement>
16.
17. <statement id="deleteByID_student"
18. parameterClass="zh2208.dto.StudentDto">
19. delete from student where
20. id = #id#
21. </statement>
22.
23. <statement id="updataStudent_test"
24. parameterClass="zh2208.dto.StudentDto">
25. update student set
26. name=#name#,sex=#sex#,age=#age#,address=#address#
27. where id = #id#
28. </statement>
29.
30. <statement id="select_all_student"
31. resultClass="zh2208.dto.StudentDto">
32. select * from student order by id
33. </statement>
34.
35. <statement id="selectByID_student"
36. parameterClass="zh2208.dto.StudentDto"
37. resultClass="zh2208.dto.StudentDto">
38. select * from student
39. where id = #id#
40. order by id
41. </statement>
42. </sqlMap>
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
3.
4. <sqlMap namespace="Test">
5.
6. <statement id="insert_student"
7. parameterClass="zh2208.dto.StudentDto">
8. insert into student(
9. id,name,age,sex,address) values(
10. #id#,#name#,#age#,#sex#,#address# )
11. </statement>
12.
13. <statement id="delete_all_student">
14. delete from student
15. </statement>
16.
17. <statement id="deleteByID_student"
18. parameterClass="zh2208.dto.StudentDto">
19. delete from student where
20. id = #id#
21. </statement>
22.
23. <statement id="updataStudent_test"
24. parameterClass="zh2208.dto.StudentDto">
25. update student set
26. name=#name#,sex=#sex#,age=#age#,address=#address#
27. where id = #id#
28. </statement>
29.
30. <statement id="select_all_student"
31. resultClass="zh2208.dto.StudentDto">
32. select * from student order by id
33. </statement>
34.
35. <statement id="selectByID_student"
36. parameterClass="zh2208.dto.StudentDto"
37. resultClass="zh2208.dto.StudentDto">
38. select * from student
39. where id = #id#
40. order by id
41. </statement>
42. </sqlMap>
以上步骤完成了所有的xml文件的编写。
第二步编写dto文件
我用到了student表,里面包含了id,name,sex,age,address 5个字段
2.1 dto文件的内容为
1. package zh2208.dto;
2.
3. /**
4. * @author zh2208
5. *
6. */
7. public class StudentDto {
8.
9. //学生ID
10. private int id = 0;
11. //学生姓名
12. private String name = "";
13. //学生性别
14. private String sex = "";
15. //学生年龄
16. private int age = 0;
17. //学生地址
18. private String address = "";
19.
20. public String getAddress() {
21. return address;
22. }
23. public void setAddress(String address) {
24. this.address = address;
25. }
26. public int getAge() {
27. return age;
28. }
29. public void setAge(int age) {
30. this.age = age;
31. }
32. public int getId() {
33. return id;
34. }
35. public void setId(int id) {
36. this.id = id;
37. }
38. public String getName() {
39. return name;
40. }
41. public void setName(String name) {
42. this.name = name;
43. }
44. public String getSex() {
45. return sex;
46. }
47. public void setSex(String sex) {
48. this.sex = sex;
49. }
50.
51. }
52. package zh2208.dto;
53.
54. /**
55. * @author zh2208
56. *
57. */
58. public class StudentDto {
59.
60. //学生ID
61. private int id = 0;
62. //学生姓名
63. private String name = "";
64. //学生性别
65. private String sex = "";
66. //学生年龄
67. private int age = 0;
68. //学生地址
69. private String address = "";
70.
71. public String getAddress() {
72. return address;
73. }
74. public void setAddress(String address) {
75. this.address = address;
76. }
77. public int getAge() {
78. return age;
79. }
80. public void setAge(int age) {
81. this.age = age;
82. }
83. public int getId() {
84. return id;
85. }
86. public void setId(int id) {
87. this.id = id;
88. }
89. public String getName() {
90. return name;
91. }
92. public void setName(String name) {
93. this.name = name;
94. }
95. public String getSex() {
96. return sex;
97. }
98. public void setSex(String sex) {
99. this.sex = sex;
100. }
101.
102. }
2.2 接口文件的内容为
1. package zh2208.dao;
2.
3. import java.util.ArrayList;
4. import com.ibatis.sqlmap.client.SqlMapClient;
5.
6. import zh2208.dto.*;
7. /**
8. * @author zh2208
9. *
10. */
11. public interface StudentDao {
12.
13. //添加student表的数据
14. public void addStudent(SqlMapClient sqlMap,StudentDto studentdto);
15. //删除student表的数据
16. public void delStudent(SqlMapClient sqlMap);
17. //删除student表的指定ID数据
18. public void delStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
19. //更新student表的数据
20. public void updataStudent(SqlMapClient sqlMap,StudentDto studentdto);
21. //查询student表的所有数据
22. public ArrayList selectStudent(SqlMapClient sqlMap);
23. //查询student表的指定ID数据
24. public StudentDto selectStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
25.
26. }
1. package zh2208.dao;
2.
3. import java.util.ArrayList;
4. import com.ibatis.sqlmap.client.SqlMapClient;
5.
6. import zh2208.dto.*;
7. /**
8. * @author zh2208
9. *
10. */
11. public interface StudentDao {
12.
13. //添加student表的数据
14. public void addStudent(SqlMapClient sqlMap,StudentDto studentdto);
15. //删除student表的数据
16. public void delStudent(SqlMapClient sqlMap);
17. //删除student表的指定 ID数据
18. public void delStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
19. //更新student表的数据
20. public void updataStudent(SqlMapClient sqlMap,StudentDto studentdto);
21. //查询student表的所有数据
22. public ArrayList selectStudent(SqlMapClient sqlMap);
23. //查询student表的指定 ID数据
24. public StudentDto selectStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
25.
26. }
2.3 实现接口的内容为
1. package zh2208.impl;
2.
3. import java.sql.SQLException;
4. import java.util.ArrayList;
5.
6. import com.ibatis.sqlmap.client.SqlMapClient;
7.
8. import zh2208.dao.StudentDao;
9. import zh2208.dto.StudentDto;
10.
11. /**
12. * @author zh2208
13. *
14. */
15. public class StudentImpl implements StudentDao {
16.
17. //添加student表的数据
18. public void addStudent(SqlMapClient sqlMap, StudentDto studentdto) {
19.
20. try {
21. sqlMap.insert("insert_student", studentdto);
22. } catch (SQLException e) {
23.
24. e.printStackTrace();
25. }
26. }
27.
28. //删除student表的数据
29. public void delStudent(SqlMapClient sqlMap) {
30.
31. try {
32. sqlMap.delete("delete_all_student", null);
33. } catch (SQLException e) {
34.
35. e.printStackTrace();
36. }
37. }
38.
39. //删除student表的指定ID数据
40. public void delStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
41.
42. try {
43. sqlMap.delete("deleteByID_student",studentdto );
44. } catch (SQLException e) {
45.
46. e.printStackTrace();
47. }
48. }
49.
50. //更新student表的数据
51. public void updataStudent(SqlMapClient sqlMap, StudentDto studentdto) {
52.
53. try {
54. sqlMap.update("updataStudent_test",studentdto );
55. } catch (SQLException e) {
56.
57. e.printStackTrace();
58. }
59. }
60.
61. //查询student表的所有数据
62. public ArrayList selectStudent(SqlMapClient sqlMap) {
63.
64. //保存查询结果
65. ArrayList rsList = new ArrayList();
66.
67. try {
68. rsList = (ArrayList)sqlMap.queryForList("select_all_student","");
69. } catch (SQLException e) {
70.
71. e.printStackTrace();
72. }
73. return rsList;
74. }
75.
76. //查询student表的指定 ID数据
77. public StudentDto selectStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
78.
79. //返回后保存在 info中
80. StudentDto info = new StudentDto();
81. try {
82. info = (StudentDto)sqlMap.queryForObject("selectByID_student", studentdto);
83. } catch (SQLException e) {
84.
85. e.printStackTrace();
86. }
87. return info;
88. }
89.
90.
91.
92. }
1. package zh2208.impl;
2.
3. import java.sql.SQLException;
4. import java.util.ArrayList;
5.
6. import com.ibatis.sqlmap.client.SqlMapClient;
7.
8. import zh2208.dao.StudentDao;
9. import zh2208.dto.StudentDto;
10.
11. /**
12. * @author zh2208
13. *
14. */
15. public class StudentImpl implements StudentDao {
16.
17. //添加student表的数据
18. public void addStudent(SqlMapClient sqlMap, StudentDto studentdto) {
19.
20. try {
21. sqlMap.insert("insert_student", studentdto);
22. } catch (SQLException e) {
23.
24. e.printStackTrace();
25. }
26. }
27.
28. //删除student表的数据
29. public void delStudent(SqlMapClient sqlMap) {
30.
31. try {
32. sqlMap.delete("delete_all_student", null);
33. } catch (SQLException e) {
34.
35. e.printStackTrace();
36. }
37. }
38.
39. //删除student表的指定 ID数据
40. public void delStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
41.
42. try {
43. sqlMap.delete("deleteByID_student",studentdto );
44. } catch (SQLException e) {
45.
46. e.printStackTrace();
47. }
48. }
49.
50. //更新student表的数据
51. public void updataStudent(SqlMapClient sqlMap, StudentDto studentdto) {
52.
53. try {
54. sqlMap.update("updataStudent_test",studentdto );
55. } catch (SQLException e) {
56.
57. e.printStackTrace();
58. }
59. }
60.
61. //查询student表的所有数据
62. public ArrayList selectStudent(SqlMapClient sqlMap) {
63.
64. //保存查询结果
65. ArrayList rsList = new ArrayList();
66.
67. try {
68. rsList = (ArrayList)sqlMap.queryForList("select_all_student","");
69. } catch (SQLException e) {
70.
71. e.printStackTrace();
72. }
73. return rsList;
74. }
75.
76. //查询student表的指定ID数据
77. public StudentDto selectStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
78.
79. //返回后保存在info中
80. StudentDto info = new StudentDto();
81. try {
82. info = (StudentDto)sqlMap.queryForObject("selectByID_student", studentdto);
83. } catch (SQLException e) {
84.
85. e.printStackTrace();
86. }
87. return info;
88. }
89.
90. }
2.4 测试类的内容为
1. package zh2208.com;
2.
3. import java.io.IOException;
4. import java.io.Reader;
5. import java.util.ArrayList;
6.
7. import zh2208.dto.StudentDto;
8. import zh2208.impl.StudentImpl;
9.
10. import com.ibatis.common.resources.Resources;
11. import com.ibatis.sqlmap.client.SqlMapClient;
12. import com.ibatis.sqlmap.client.SqlMapClientBuilder;
13.
14. /**
15. * @author zh2208
16. *
17. */
18. public class MainTest {
19.
20.
21. public StudentImpl impl = new StudentImpl();
22. public StudentDto info = new StudentDto();
23. public static SqlMapClient sqlmapclient = null;
24. static {
25. try {
26. //读取xml文件
27. Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
28. sqlmapclient = SqlMapClientBuilder.buildSqlMapClient(reader);
29. reader.close();
30. } catch (IOException e) {
31.
32. e.printStackTrace();
33. }
34. }
35.
36. public static void main(String []args){
37. MainTest stu = new MainTest();
38.
39. System.out.println("------------------------------- start ------------------------------");
40.
41. //以下为各种方法测试
42.
43. //添加 student表的数据
44. //stu.addStudent_test();
45.
46. //删除student表的数据
47. //stu.delStudent_test();
48.
49. //删除 student表的指定ID数据
50. //stu.delStudentByID_test();
51.
52. //更新student表的数据
53. //stu.updataStudent_test();
54.
55. //查询 student表的所有数据
56. //stu.selectStudent_test();
57.
58. //查询student表的所有数据
59. //stu.selectStudentByID_test();
60.
61. System.out.println("------------------------------- end ------------------------------");
62.
63. }
64.
65. //添加student表的数据
66. public void addStudent_test(){
67.
68. //把要插入的数据填入 info对象中
69. info.setId(5);
70. info.setName("zh2208");
71. info.setSex("男");
72. info.setAge(24);
73. info.setAddress("上海");
74.
75. impl.addStudent(sqlmapclient, info);
76. }
77.
78. //删除student表的数据
79. public void delStudent_test(){
80. impl.delStudent(sqlmapclient);
81. }
82.
83. //删除student表的指定ID数据
84. public void delStudentByID_test(){
85. //指定ID
86. info.setId(1);
87. impl.delStudentByID(sqlmapclient,info);
88.
89. }
90.
91. //更新student表的数据
92. public void updataStudent_test(){
93.
94. //把要更新的数据填入 info对象中
95. info.setId(6);
96. info.setName("zh2208up");
97. info.setSex("男");
98. info.setAge(20);
99. info.setAddress("上海up");
100. impl.updataStudent(sqlmapclient, info);
101. }
102.
103. //查询student表的所有数据
104. public void selectStudent_test(){
105.
106. StudentDto stu_dto = new StudentDto();
107. //检索结果保存到 list中
108. ArrayList resultList = impl.selectStudent(sqlmapclient);
109. for(int i = 0; i < resultList.size();i++){
110. stu_dto = (StudentDto) resultList.get(i);
111. //打印对象中的信息
112. show(stu_dto);
113. }
114.
115. }
116.
117. //查询student表的指定ID数据
118. public void selectStudentByID_test(){
119. StudentDto stu_dto = new StudentDto();
120. info.setId(1);
121. stu_dto = impl.selectStudentByID(sqlmapclient,info);
122.
123. if(stu_dto != null){
124. show(stu_dto);
125. }else{
126. System.out.println("no data!!!!");
127. }
128. }
129.
130. //打印查询结果
131. public void show(StudentDto stu_dto){
132.
133. System.out.print("学生ID :" + stu_dto.getId() + " ; ");
134. System.out.print("学生姓名 :" + stu_dto.getName() + " ; ");
135. System.out.print("学生性别 :" + stu_dto.getSex() + " ; ");
136. System.out.print("学生年龄 :" + stu_dto.getAge() + " ; ");
137. System.out.print("学生地址 :" + stu_dto.getAddress());
138. System.out.println();
139.
140. }
141.
142. }
1.向数据库student表插入一条数据
2.删除student表的所有数据
3.删除student表指定ID的数据
4. 更新student表指定ID的数据
5.查询student表的所有数据
6.查询student表的指定ID数据
使用的是oracle数据库
你也可以去下载我上传的资源“ibatis实例程序”,里面包含了3个ibatis的jar包、1个oracle的驱动包和所有的程序代码。。
我的编程实例从创建SqlMapConfig.xml文件开始
第一步:编写SqlMapConfig.xml文件
1. <?xml version="1.0" encoding="UTF-8" ?>
2. <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
3. <sqlMapConfig>
4.
5. <properties resource="SqlMapConfig.properties" />
6.
7. <transactionManager type="JDBC">
8. <dataSource type="SIMPLE">
9. <property name="JDBC.Driver" value="${driver}" />
10. <property name="JDBC.ConnectionURL" value="${url}" />
11. <property name="JDBC.Username" value="${username}" />
12. <property name="JDBC.Password" value="${password}" />
13.
14. </dataSource>
15. </transactionManager>
16.
17. <sqlMap resource="sqlMap_student.xml" />
18.
19. </sqlMapConfig>
1. <?xml version="1.0" encoding="UTF-8" ?>
2. <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
3. <sqlMapConfig>
4.
5. <properties resource="SqlMapConfig.properties" />
6.
7. <transactionManager type="JDBC">
8. <dataSource type="SIMPLE">
9. <property name="JDBC.Driver" value="${driver}" />
10. <property name="JDBC.ConnectionURL" value="${url}" />
11. <property name="JDBC.Username" value="${username}" />
12. <property name="JDBC.Password" value="${password}" />
13.
14. </dataSource>
15. </transactionManager>
16.
17. <sqlMap resource="sqlMap_student.xml" />
18.
19. </sqlMapConfig>
SqlMapConfig.xml文件包含另外2个
资源文件SqlMapConfig.properties(SqlMapConfig.xml文件中引用这里定义的4个值,一般编程会把各种数据库的连接方法都写于此,以便下次调用各种不同数据库之间的使用)
1. ##### Oracle #####
2.
3. driver=oracle.jdbc.driver.OracleDriver
4. url=jdbc:oracle:thin:@localhost:1521:name
5. usernameusername=username
6. passwordpassword=password
7. ##### Oracle #####
8.
9. driver=oracle.jdbc.driver.OracleDriver
10. url=jdbc:oracle:thin:@localhost:1521:name
11. username=username
12. password=password
资源文件sqlMap_student.xml(具体的sql文执行语句)
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
3.
4. <sqlMap namespace="Test">
5.
6. <statement id="insert_student"
7. parameterClass="zh2208.dto.StudentDto">
8. insert into student(
9. id,name,age,sex,address) values(
10. #id#,#name#,#age#,#sex#,#address# )
11. </statement>
12.
13. <statement id="delete_all_student">
14. delete from student
15. </statement>
16.
17. <statement id="deleteByID_student"
18. parameterClass="zh2208.dto.StudentDto">
19. delete from student where
20. id = #id#
21. </statement>
22.
23. <statement id="updataStudent_test"
24. parameterClass="zh2208.dto.StudentDto">
25. update student set
26. name=#name#,sex=#sex#,age=#age#,address=#address#
27. where id = #id#
28. </statement>
29.
30. <statement id="select_all_student"
31. resultClass="zh2208.dto.StudentDto">
32. select * from student order by id
33. </statement>
34.
35. <statement id="selectByID_student"
36. parameterClass="zh2208.dto.StudentDto"
37. resultClass="zh2208.dto.StudentDto">
38. select * from student
39. where id = #id#
40. order by id
41. </statement>
42. </sqlMap>
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
3.
4. <sqlMap namespace="Test">
5.
6. <statement id="insert_student"
7. parameterClass="zh2208.dto.StudentDto">
8. insert into student(
9. id,name,age,sex,address) values(
10. #id#,#name#,#age#,#sex#,#address# )
11. </statement>
12.
13. <statement id="delete_all_student">
14. delete from student
15. </statement>
16.
17. <statement id="deleteByID_student"
18. parameterClass="zh2208.dto.StudentDto">
19. delete from student where
20. id = #id#
21. </statement>
22.
23. <statement id="updataStudent_test"
24. parameterClass="zh2208.dto.StudentDto">
25. update student set
26. name=#name#,sex=#sex#,age=#age#,address=#address#
27. where id = #id#
28. </statement>
29.
30. <statement id="select_all_student"
31. resultClass="zh2208.dto.StudentDto">
32. select * from student order by id
33. </statement>
34.
35. <statement id="selectByID_student"
36. parameterClass="zh2208.dto.StudentDto"
37. resultClass="zh2208.dto.StudentDto">
38. select * from student
39. where id = #id#
40. order by id
41. </statement>
42. </sqlMap>
以上步骤完成了所有的xml文件的编写。
第二步编写dto文件
我用到了student表,里面包含了id,name,sex,age,address 5个字段
2.1 dto文件的内容为
1. package zh2208.dto;
2.
3. /**
4. * @author zh2208
5. *
6. */
7. public class StudentDto {
8.
9. //学生ID
10. private int id = 0;
11. //学生姓名
12. private String name = "";
13. //学生性别
14. private String sex = "";
15. //学生年龄
16. private int age = 0;
17. //学生地址
18. private String address = "";
19.
20. public String getAddress() {
21. return address;
22. }
23. public void setAddress(String address) {
24. this.address = address;
25. }
26. public int getAge() {
27. return age;
28. }
29. public void setAge(int age) {
30. this.age = age;
31. }
32. public int getId() {
33. return id;
34. }
35. public void setId(int id) {
36. this.id = id;
37. }
38. public String getName() {
39. return name;
40. }
41. public void setName(String name) {
42. this.name = name;
43. }
44. public String getSex() {
45. return sex;
46. }
47. public void setSex(String sex) {
48. this.sex = sex;
49. }
50.
51. }
52. package zh2208.dto;
53.
54. /**
55. * @author zh2208
56. *
57. */
58. public class StudentDto {
59.
60. //学生ID
61. private int id = 0;
62. //学生姓名
63. private String name = "";
64. //学生性别
65. private String sex = "";
66. //学生年龄
67. private int age = 0;
68. //学生地址
69. private String address = "";
70.
71. public String getAddress() {
72. return address;
73. }
74. public void setAddress(String address) {
75. this.address = address;
76. }
77. public int getAge() {
78. return age;
79. }
80. public void setAge(int age) {
81. this.age = age;
82. }
83. public int getId() {
84. return id;
85. }
86. public void setId(int id) {
87. this.id = id;
88. }
89. public String getName() {
90. return name;
91. }
92. public void setName(String name) {
93. this.name = name;
94. }
95. public String getSex() {
96. return sex;
97. }
98. public void setSex(String sex) {
99. this.sex = sex;
100. }
101.
102. }
2.2 接口文件的内容为
1. package zh2208.dao;
2.
3. import java.util.ArrayList;
4. import com.ibatis.sqlmap.client.SqlMapClient;
5.
6. import zh2208.dto.*;
7. /**
8. * @author zh2208
9. *
10. */
11. public interface StudentDao {
12.
13. //添加student表的数据
14. public void addStudent(SqlMapClient sqlMap,StudentDto studentdto);
15. //删除student表的数据
16. public void delStudent(SqlMapClient sqlMap);
17. //删除student表的指定ID数据
18. public void delStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
19. //更新student表的数据
20. public void updataStudent(SqlMapClient sqlMap,StudentDto studentdto);
21. //查询student表的所有数据
22. public ArrayList selectStudent(SqlMapClient sqlMap);
23. //查询student表的指定ID数据
24. public StudentDto selectStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
25.
26. }
1. package zh2208.dao;
2.
3. import java.util.ArrayList;
4. import com.ibatis.sqlmap.client.SqlMapClient;
5.
6. import zh2208.dto.*;
7. /**
8. * @author zh2208
9. *
10. */
11. public interface StudentDao {
12.
13. //添加student表的数据
14. public void addStudent(SqlMapClient sqlMap,StudentDto studentdto);
15. //删除student表的数据
16. public void delStudent(SqlMapClient sqlMap);
17. //删除student表的指定 ID数据
18. public void delStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
19. //更新student表的数据
20. public void updataStudent(SqlMapClient sqlMap,StudentDto studentdto);
21. //查询student表的所有数据
22. public ArrayList selectStudent(SqlMapClient sqlMap);
23. //查询student表的指定 ID数据
24. public StudentDto selectStudentByID(SqlMapClient sqlMap,StudentDto studentdto);
25.
26. }
2.3 实现接口的内容为
1. package zh2208.impl;
2.
3. import java.sql.SQLException;
4. import java.util.ArrayList;
5.
6. import com.ibatis.sqlmap.client.SqlMapClient;
7.
8. import zh2208.dao.StudentDao;
9. import zh2208.dto.StudentDto;
10.
11. /**
12. * @author zh2208
13. *
14. */
15. public class StudentImpl implements StudentDao {
16.
17. //添加student表的数据
18. public void addStudent(SqlMapClient sqlMap, StudentDto studentdto) {
19.
20. try {
21. sqlMap.insert("insert_student", studentdto);
22. } catch (SQLException e) {
23.
24. e.printStackTrace();
25. }
26. }
27.
28. //删除student表的数据
29. public void delStudent(SqlMapClient sqlMap) {
30.
31. try {
32. sqlMap.delete("delete_all_student", null);
33. } catch (SQLException e) {
34.
35. e.printStackTrace();
36. }
37. }
38.
39. //删除student表的指定ID数据
40. public void delStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
41.
42. try {
43. sqlMap.delete("deleteByID_student",studentdto );
44. } catch (SQLException e) {
45.
46. e.printStackTrace();
47. }
48. }
49.
50. //更新student表的数据
51. public void updataStudent(SqlMapClient sqlMap, StudentDto studentdto) {
52.
53. try {
54. sqlMap.update("updataStudent_test",studentdto );
55. } catch (SQLException e) {
56.
57. e.printStackTrace();
58. }
59. }
60.
61. //查询student表的所有数据
62. public ArrayList selectStudent(SqlMapClient sqlMap) {
63.
64. //保存查询结果
65. ArrayList rsList = new ArrayList();
66.
67. try {
68. rsList = (ArrayList)sqlMap.queryForList("select_all_student","");
69. } catch (SQLException e) {
70.
71. e.printStackTrace();
72. }
73. return rsList;
74. }
75.
76. //查询student表的指定 ID数据
77. public StudentDto selectStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
78.
79. //返回后保存在 info中
80. StudentDto info = new StudentDto();
81. try {
82. info = (StudentDto)sqlMap.queryForObject("selectByID_student", studentdto);
83. } catch (SQLException e) {
84.
85. e.printStackTrace();
86. }
87. return info;
88. }
89.
90.
91.
92. }
1. package zh2208.impl;
2.
3. import java.sql.SQLException;
4. import java.util.ArrayList;
5.
6. import com.ibatis.sqlmap.client.SqlMapClient;
7.
8. import zh2208.dao.StudentDao;
9. import zh2208.dto.StudentDto;
10.
11. /**
12. * @author zh2208
13. *
14. */
15. public class StudentImpl implements StudentDao {
16.
17. //添加student表的数据
18. public void addStudent(SqlMapClient sqlMap, StudentDto studentdto) {
19.
20. try {
21. sqlMap.insert("insert_student", studentdto);
22. } catch (SQLException e) {
23.
24. e.printStackTrace();
25. }
26. }
27.
28. //删除student表的数据
29. public void delStudent(SqlMapClient sqlMap) {
30.
31. try {
32. sqlMap.delete("delete_all_student", null);
33. } catch (SQLException e) {
34.
35. e.printStackTrace();
36. }
37. }
38.
39. //删除student表的指定 ID数据
40. public void delStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
41.
42. try {
43. sqlMap.delete("deleteByID_student",studentdto );
44. } catch (SQLException e) {
45.
46. e.printStackTrace();
47. }
48. }
49.
50. //更新student表的数据
51. public void updataStudent(SqlMapClient sqlMap, StudentDto studentdto) {
52.
53. try {
54. sqlMap.update("updataStudent_test",studentdto );
55. } catch (SQLException e) {
56.
57. e.printStackTrace();
58. }
59. }
60.
61. //查询student表的所有数据
62. public ArrayList selectStudent(SqlMapClient sqlMap) {
63.
64. //保存查询结果
65. ArrayList rsList = new ArrayList();
66.
67. try {
68. rsList = (ArrayList)sqlMap.queryForList("select_all_student","");
69. } catch (SQLException e) {
70.
71. e.printStackTrace();
72. }
73. return rsList;
74. }
75.
76. //查询student表的指定ID数据
77. public StudentDto selectStudentByID(SqlMapClient sqlMap, StudentDto studentdto) {
78.
79. //返回后保存在info中
80. StudentDto info = new StudentDto();
81. try {
82. info = (StudentDto)sqlMap.queryForObject("selectByID_student", studentdto);
83. } catch (SQLException e) {
84.
85. e.printStackTrace();
86. }
87. return info;
88. }
89.
90. }
2.4 测试类的内容为
1. package zh2208.com;
2.
3. import java.io.IOException;
4. import java.io.Reader;
5. import java.util.ArrayList;
6.
7. import zh2208.dto.StudentDto;
8. import zh2208.impl.StudentImpl;
9.
10. import com.ibatis.common.resources.Resources;
11. import com.ibatis.sqlmap.client.SqlMapClient;
12. import com.ibatis.sqlmap.client.SqlMapClientBuilder;
13.
14. /**
15. * @author zh2208
16. *
17. */
18. public class MainTest {
19.
20.
21. public StudentImpl impl = new StudentImpl();
22. public StudentDto info = new StudentDto();
23. public static SqlMapClient sqlmapclient = null;
24. static {
25. try {
26. //读取xml文件
27. Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
28. sqlmapclient = SqlMapClientBuilder.buildSqlMapClient(reader);
29. reader.close();
30. } catch (IOException e) {
31.
32. e.printStackTrace();
33. }
34. }
35.
36. public static void main(String []args){
37. MainTest stu = new MainTest();
38.
39. System.out.println("------------------------------- start ------------------------------");
40.
41. //以下为各种方法测试
42.
43. //添加 student表的数据
44. //stu.addStudent_test();
45.
46. //删除student表的数据
47. //stu.delStudent_test();
48.
49. //删除 student表的指定ID数据
50. //stu.delStudentByID_test();
51.
52. //更新student表的数据
53. //stu.updataStudent_test();
54.
55. //查询 student表的所有数据
56. //stu.selectStudent_test();
57.
58. //查询student表的所有数据
59. //stu.selectStudentByID_test();
60.
61. System.out.println("------------------------------- end ------------------------------");
62.
63. }
64.
65. //添加student表的数据
66. public void addStudent_test(){
67.
68. //把要插入的数据填入 info对象中
69. info.setId(5);
70. info.setName("zh2208");
71. info.setSex("男");
72. info.setAge(24);
73. info.setAddress("上海");
74.
75. impl.addStudent(sqlmapclient, info);
76. }
77.
78. //删除student表的数据
79. public void delStudent_test(){
80. impl.delStudent(sqlmapclient);
81. }
82.
83. //删除student表的指定ID数据
84. public void delStudentByID_test(){
85. //指定ID
86. info.setId(1);
87. impl.delStudentByID(sqlmapclient,info);
88.
89. }
90.
91. //更新student表的数据
92. public void updataStudent_test(){
93.
94. //把要更新的数据填入 info对象中
95. info.setId(6);
96. info.setName("zh2208up");
97. info.setSex("男");
98. info.setAge(20);
99. info.setAddress("上海up");
100. impl.updataStudent(sqlmapclient, info);
101. }
102.
103. //查询student表的所有数据
104. public void selectStudent_test(){
105.
106. StudentDto stu_dto = new StudentDto();
107. //检索结果保存到 list中
108. ArrayList resultList = impl.selectStudent(sqlmapclient);
109. for(int i = 0; i < resultList.size();i++){
110. stu_dto = (StudentDto) resultList.get(i);
111. //打印对象中的信息
112. show(stu_dto);
113. }
114.
115. }
116.
117. //查询student表的指定ID数据
118. public void selectStudentByID_test(){
119. StudentDto stu_dto = new StudentDto();
120. info.setId(1);
121. stu_dto = impl.selectStudentByID(sqlmapclient,info);
122.
123. if(stu_dto != null){
124. show(stu_dto);
125. }else{
126. System.out.println("no data!!!!");
127. }
128. }
129.
130. //打印查询结果
131. public void show(StudentDto stu_dto){
132.
133. System.out.print("学生ID :" + stu_dto.getId() + " ; ");
134. System.out.print("学生姓名 :" + stu_dto.getName() + " ; ");
135. System.out.print("学生性别 :" + stu_dto.getSex() + " ; ");
136. System.out.print("学生年龄 :" + stu_dto.getAge() + " ; ");
137. System.out.print("学生地址 :" + stu_dto.getAddress());
138. System.out.println();
139.
140. }
141.
142. }
发表评论
-
iBATIS自动生成主键(oracle,sqlserver,mysql)
2012-08-03 11:26 1074在数据库插入一条数据的时候,经常是需要返回插入这条数据的主键。 ... -
ibatis搬家到Google code上改名为mybatis
2010-10-12 11:10 1419ibatis从2010年6月6日搬家到google code上 ... -
ibatis3
2010-10-12 10:28 3973以前用过ibatis2,但是听说ibatis3有较大的性能提升 ... -
ibatis开发指南书籍
2010-07-23 13:33 932希望对大家有帮助,共同学习,这个挺简单的。 -
ibatis参数和返回值
2010-05-20 17:10 1386<sqlMap namespace="User ... -
iBatis SqlMap的配置总结
2010-05-20 17:06 2517核心提示:SqlMap的配置是iBatis中应用的核心。这部分 ...
相关推荐
【标题】"ibatis-sqlMap-入门教程(代码)" 涉及的知识点主要集中在使用MyBatis(原iBATIS)框架进行数据库操作的初步实践上。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎...
本篇将深入探讨Ibatis3在Oracle数据库环境下的具体应用实例,涵盖CRUD(创建、读取、更新、删除)操作以及动态SQL的使用。 一、Ibatis3简介 Ibatis3是MyBatis的前身,它放弃了Hibernate的全对象关系映射,转而采用...
- **SqlSession**:每个线程一个实例,且一般在一次数据库操作后立即关闭。 #### 六、Mapper 配置 XML - **属性 (properties)**:定义连接数据库所需的属性信息。 - **设置 (settings)**:自定义 iBATIS 的行为,...
iBATIS,作为Java世界中的一个轻量级持久层框架,它提供了一种将SQL查询与Java代码解耦合的方法,使得开发人员可以更灵活地处理数据库操作。这本书的中文版,对于中国开发者来说,无疑降低了学习的门槛,提高了学习...
1. **构建SqlSessionFactory**:可以通过XML配置文件或编程方式创建`SqlSessionFactory`实例,这是访问数据库的入口。 2. **获取SqlSession**:通过`SqlSessionFactory.openSession()`方法获取`SqlSession`实例,...
Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心概念和常用功能,帮助你快速...
iBATIS旨在提供一种简单、灵活的方式来处理数据库操作,它既不像Hibernate那样完全对象关系映射(ORM),也不像传统的JDBC编程那么繁琐。 2. **环境搭建**:包括安装配置JDK、设置开发环境(如Eclipse或IntelliJ ...
该博客详细讲解了如何使用Ibatis进行实际操作,从安装配置到实际编程,提供了一条清晰的学习路径。博客中可能涵盖了Ibatis的基本概念,如SqlMapConfig.xml配置文件、Mapper接口与XML映射文件的创建、动态SQL、事务...
这个接口将包含所有数据库操作的方法,iBATIS会自动生成实现这些方法的代理类。 3. **SQL映射文件**:每个SQL映射文件通常对应一个数据库表,其中包含了各种操作(如select、insert、update、delete)的SQL语句。...
本实例将介绍如何将它们整合以实现数据访问层的操作。"spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java...
该文档是关于iBATIS DataMapper 2.0的开发者指南,详细介绍了如何使用这个框架来简化数据库操作,并提供了配置、安装、升级以及各种元素和功能的详尽说明。 ### iBATIS DataMapper 2.0概述 iBATIS DataMapper框架...
**Ibatis 完整实例详解** Ibatis 是一个优秀的轻量级 Java ORM(对象关系映射)框架,它...同时,这个实例也强调了 Ibatis 的灵活性和易用性,这对于任何需要处理数据库操作的 Java 开发者来说都是一份宝贵的资源。
总的来说,这个"iBATIS_test"文件提供了实践操作的机会,而PPT文档则提供了理论指导,两者结合,将帮助初学者快速上手iBATIS,深入理解数据库操作和Java持久层编程。在学习过程中,读者应注重理解iBATIS的核心思想...
通过Struts2处理请求,Spring进行依赖管理和事务控制,以及iBatis处理数据库操作,我们可以构建出高效、模块化且易于维护的系统。在学习这个实例时,应重点理解三者之间的整合方式,以及如何利用它们各自的优势来...
通过提供的文件《IBatisNet开发使用小结.docx》和《iBatis[1].Net详细使用手册.docx》,你将能够找到具体的步骤和示例代码,这些实例将涵盖基本的CRUD操作(创建、读取、更新和删除),以及更高级的功能如存储过程...
iBatis可以与Spring无缝集成,通过Spring的DataSource和SqlSessionFactoryBean配置,可以实现数据库会话的管理。 MySQL是一款广泛使用的开源关系型数据库管理系统,以其高效率、稳定性及易用性著称。在Java Web应用...
Spring 3.0 和 iBatis 的集成是一个常见的企业级应用开发模式,它结合了Spring的强大依赖注入(DI)和面向切面编程(AOP)能力与iBatis灵活的SQL映射机制,实现了业务逻辑层与数据访问层的分离,提高了代码的可维护...
2. **iBatis**:iBatis 是一个SQL映射框架,它将SQL语句和Java代码分离,使得开发者可以更加灵活地处理数据库操作。iBatis 与Spring 结合使用,可以利用Spring的事务管理功能,实现更高级别的数据访问控制。 3. **...
总的来说,这个实例是一个很好的学习资源,可以帮助开发者掌握Ibatis与Oracle的集成使用,提升数据库操作的能力,尤其是在Java企业级开发中,这样的实践尤为重要。在实际操作中,你可以一步步地导入到Eclipse,运行...
本文将深入探讨如何在C# .NET环境中使用IBatis进行数据库操作,这对于初学者来说是一份宝贵的资源。 **一、IBatis .NET简介** IBatis(现在称为MyBatis)是一个轻量级的持久层框架,它允许开发者将SQL语句直接嵌入...