一、创建工程和数据库
1.工程名:ibatisdemo1
数据库名:ibatis
创建表:student
CREATE TABLE `student` (
`sid` int(11) NOT NULL,
`sname` varchar(30) DEFAULT NULL,
`major` varchar(30) DEFAULT NULL,
`birth` date DEFAULT NULL,
`score` decimal(10,0) DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
添加测试数据
insert into
`student`(`sid`,`sname`,`major`,`birth`,`score`)
values (1,'ss','ff','2014-03-06','22');
insert into
`student`(`sid`,`sname`,`major`,`birth`,`score`)
values (2,'vv','ee','2014-03-05','33');
二、添加相关jar
1.在项目中创建lib目录
/lib
2.在lib目录下添加jar包
mysql-connector-java.jar
ibatis-2.3.3.720.jar
junit-4.4.jar
三、添加配置文件
1.在项目中创建conf目录
/conf
2.在conf目录添加属性文件
属性文件名称:SqlMap.properties
内容:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/ibatis
username=root
password=root
3.在conf目录添加配置文件
配置文件名称: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>
<!-- 加载连接数据属性文件 -->
<properties resource="SqlMap.properties"/>
<!-- 配置事务 -->
<transactionManager type="JDBC" commitRequired="false">
<!-- 配置数据源 -->
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
</sqlMapConfig>
四、创建与数据库表中相关的javabean和映射文件
1.在src下创建包
cn.jbit.domain
2.在包下创建类
类名:Student.java
内容:
public class Student {
private Integer sid;
private String sname;
private String major;//主修专业
private Date birth;
private float socre;
// get and set 省略
}
3.在包下创建映射文件
映射文件名: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="cn.jbit.domain.Student"/>
<!-- 模糊查询 -->
<select id="selectByLike" parameterClass="String" resultClass="Student">
SELECT
*
FROM
student
WHERE
sname LIKE '%$sname$%'
</select>
</sqlMap>
4.在核心配置文件中添加引用映射文件
<!-- 加载映射文件 -->
<sqlMap resource="cn/jbit/domain/Student.xml"/>
五、设计DAO层
接口:IStudentDao.java
public interface IStudentDao {
/**
* 根据姓名查询
* @param name
* @return
*/
public List<Student> select(String name);
}
实现类:StudentDaoImpl.java
public class StudentDaoImpl implements IStudentDao{
private static SqlMapClient sqlMapClient;
static{
try {
//加载配置文件
Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
//实例化SqlMapClient
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
//关闭
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public List<Student> select(String name) {
List<Student> students=null;
try {
students = sqlMapClient.queryForList("selectByLike", name);
} catch (SQLException e) {
e.printStackTrace();
}
return students;
}
}
六、设计SERVICE层
接口:IStudentService.java
public interface IStudentService {
/**
* 根据姓名模糊查询
*/
public List<Student> findByName(String name);
}
实现类:StudentServiceImpl.java
public class StudentServiceImpl implements IStudentService {
private IStudentDao studentDao = new StudentDaoImpl();
@Override
public List<Student> findByName(String name) {
return studentDao.select(name);
}
}
七、测试
1.在项目中创建test目录
/test
2.在test目录下创建包
cn.jbit.junit
3.在包下创建测试类
类名:StudentTest.java
内容:
public class StudentTest {
IStudentService studentService = new StudentServiceImpl();
/**
* 根据姓名进行模糊查询
*/
@Test
public void testFindByName(){
List<Student> students = studentService.findByName("s");
System.out.println(students.size());
}
}
ibatis-模糊查询
原创
©著作权归作者所有:来自51CTO博客作者素颜猪的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:ibatis-分页
下一篇:ibatis-根据id查询
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章