您的位置:首页 > 编程语言 > Java开发

Spring + Ibatis + MySql+Java实例详解

2015-07-16 15:08 666 查看
将以下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;
}

@Override
public 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 block
e.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 block
e.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: