Spring + Ibatis + MySql+Java实例详解
来源:互联网 发布:淘宝金冠女装店铺大全 编辑:程序博客网 时间:2024/05/16 14:43
将以下jar包加入到工程,commons-logging-1.0.4.jar、ibatis-2.3.0.677.jar、mysql-connector-java-5.0.3-bin.jar、spring.jar。
sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig><sqlMap resource="spring/beans/student.xml"/></sqlMapConfig>
sqlMapClient.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>spring/beans/sqlMapConfig.xml</value> </property> <property name="dataSource"> <ref bean="dataSource"/> </property></bean> <bean id="studentDao" class="spring.dao.StudentDaoImpl"> <property name="sqlMapClient"> <ref bean="sqlMapClient"/> </property></bean></beans>
student.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap><typeAlias alias="student" type="spring.beans.Student"/><resultMap id="studentMap" class="spring.beans.Student"><result property="id" column="id"/><result property="name" column="name"/><result property="psw" column="psw"/><result property="enabled" column="enabled"/></resultMap><insert id="addStudent" parameterClass="student">insert into student (name,psw,enabled) values(#name#,#psw#,#enabled#);<selectKey resultClass="int" keyProperty="id"> select @@identity as inserted </selectKey></insert><select id="queryStudentByName" parameterClass="string" resultMap="studentMap"><![CDATA[SELECT * FROM student WHERE NAME=#name#]]></select><select id="queryAllStudent" resultMap="studentMap"><![CDATA[SELECT * FROM student]]></select> <update id="updateStudent" parameterClass="student"> update student set id=#id#,psw=#psw#,enabled=#enabled# where id=#id# </update> <delete id="deleteStudentById" parameterClass="int"> delete from student where id=#id# </delete></sqlMap>
Student.java
package spring.beans;import java.io.Serializable;public class Student implements Serializable {private static final long serialVersionUID = 1L;private int id;private String name;private String psw;private Boolean enabled;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPsw() {return psw;}public void setPsw(String psw) {this.psw = psw;}public Boolean getEnabled() {return enabled;}public void setEnabled(Boolean enabled) {this.enabled = enabled;}@Overridepublic String toString() {return "id=" + id + "\t 姓名=" + name + "\t 密码=" + psw + "\t 是否注册="+ enabled + "\n";}}
StudentDao.java
package spring.dao;import java.util.List;import spring.beans.Student;public interface StudentDao {/* * 添加学生信息 */public boolean addStudent(Student student);/* * 根据id删除学生信息 */public boolean deleteStudentById(int id);/* * 更新学生信息 */public boolean updateStudent(Student student);/* * 查询全部学生信息 */public List<Student> selectAllStudent();/* * 根据学生姓名模糊查询学生信息 */public List<Student> selectStudentByName(String name);/* * 根据学生id查询学生信息 */public Student selectStudentById(int id);}
StudentDaoImpl.java
package spring.dao;import java.util.List;import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;import spring.beans.Student;public class StudentDaoImpl extends SqlMapClientDaoSupport implements StudentDao {public boolean addStudent(Student student) {Object object = null;boolean flag = false;try {object=getSqlMapClientTemplate().insert("addStudent", student);//System.out.println("添加学生信息的返回值:" + object);} catch (Exception e) {e.printStackTrace();}if (object != null) {flag = true;}return flag;}public boolean deleteStudentById(int id) {Object object = null;boolean flag = false;try {object =getSqlMapClientTemplate().delete("deleteStudentById",id);// System.out.println("删除学生信息的返回值:" + object + ",这里返回的是影响的函数");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if (object != null) {flag = true;}return flag;}public boolean updateStudent(Student student) {Object object = null;boolean flag = false;try {object= getSqlMapClientTemplate().update("updateStudent", student);// System.out.println("更新学生信息的返回值:" + object );} catch (Exception e) {e.printStackTrace();}if (object != null) {flag = true;}return flag;}public List<Student> selectAllStudent() {List<Student> students = null;try {students = getSqlMapClientTemplate().queryForList("queryAllStudent",null);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return students;}public List<Student> selectStudentByName(String name) {List<Student> students = null;try{students=getSqlMapClientTemplate().queryForList("queryStudentByName", name);} catch(Exception e) {e.printStackTrace();}return students;}public Student selectStudentById(int id) {Student student = null;try {student = (Student)getSqlMapClientTemplate().queryForObject("selectStudentById", id);} catch (Exception e) {e.printStackTrace();}return student;}}
TestStudent.java
package spring.beans;import spring.beans.Student;import java.util.List;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import spring.dao.StudentDao;public class TestStudent {public static void main(String[] args) {//初始化beans.xml文件ApplicationContext ctx = new ClassPathXmlApplicationContext("spring/beans/sqlMapClient.xml");StudentDao studentDao = (StudentDao)ctx.getBean("studentDao");// 查询所有System.out.println("查询初始数据表:");List<Student> list1 = studentDao.selectAllStudent();for (Student student : list1) {System.out.println(student);}// 测试插入System.out.println("测试插入:");Student addStudent = new Student();//addStudent.setId(2);addStudent.setName("Tom");addStudent.setPsw("Tompsw");addStudent.setEnabled(false);System.out.println(studentDao.addStudent(addStudent));//addStudent.setId(7);addStudent.setName("John");addStudent.setPsw("Johnpsw");addStudent.setEnabled(true);System.out.println(studentDao.addStudent(addStudent));// 查询所有System.out.println("查询修改后数据表:");List<Student> list2 = studentDao.selectAllStudent();for (Student student : list2) {System.out.println(student);}// 根据姓名查询System.out.println("根据姓名查询:");List<Student> list = studentDao.selectStudentByName("John");for (Student student : list) {System.out.println(student);}// 更新信息System.out.println("更新信息:");Student updateStudent = new Student();addStudent.setId(2); updateStudent.setName("Lucy");updateStudent.setPsw("lucypsw");updateStudent.setEnabled(true);System.out.println(studentDao.updateStudent(updateStudent));// 查询所有System.out.println("查询修改后数据表:");List<Student> list3 = studentDao.selectAllStudent();for (Student student : list3) {System.out.println(student);}// 删除数据System.out.println("删除数据:");System.out.println(studentDao.deleteStudentById(2));// 查询所有System.out.println("查询修改后数据表:");List<Student> list4 = studentDao.selectAllStudent();for (Student student : list4) {System.out.println(student);}}}
转载:http://blog.csdn.net/lanpiao_87/article/details/7036409
0 0
- Spring + Ibatis + MySql+Java实例详解
- Spring + Ibatis + MySql实例详解
- Spring + Ibatis + MySql实例详解
- Spring + Ibatis + MySql实例详解
- Ibatis + MySql+Java实例详解
- WebWork + Spring + iBatis + MySql 实例(Jonson)
- Spring+ibatis 应用实例
- Ibatis+MySql实例
- Ibatis+MySql实例
- Ibatis+MySql实例
- Spring+iBatis整合详解
- Spring+Ibatis集成开发实例
- Spring+Ibatis集成开发实例!
- ibatis和Spring整合实例
- Spring+Ibatis集成开发实例
- Spring+Ibatis集成开发实例
- Spring+Ibatis集成开发实例!
- Spring+iBatis集成开发实例
- oracle快速向表中插入记录方法
- snmp 设备测试方法
- Java强引用、 软引用、 弱引用、虚引用
- Cocos2d-x中对Sprite进行setTexture时,调用SpriteBatchNode对象时需要注意的问题
- Eclipse常用快捷键汇总
- Spring + Ibatis + MySql+Java实例详解
- 黑马程序员——递归
- GCC、Cygwin、MinGW、TDM-GCC
- UTF-8,GBK,Big5,ASCII
- iOS——Xcode 6.1 企业版app发布(In-House模式)详细步骤
- android 强制关闭后台程序方法
- ElasticSearch处理更新冲突
- ashx文件的使用小结
- ROS进阶学习手记 3 -- RViz工具的学习2,Markers: Sending Basic Shapes