Ibatis初级应用(二)和之前写的Ibatis初级应用(一)里面的应用方式是不太一样的。这次写的是项目实际用到的方式。
需要用到的jar包:
ibatis-sqlmap-2.3.4.726.jar
junit-4.10.jar
mybatis-3.2.3.jar
mysql-connector-java-5.1.26.jar
直接贴代码:
SELECT * FROM USERINFO
INSERT INTO USERINFO
(
NAME,AGE
) VALUES (
#name#,#age#
)
UPDATE USERINFO
SET
NAME=#name#,AGE=#age#
WHERE
ID=#id#
DELETE FROM USERINFO
WHERE
ID=#id#
SELECT * FROM USERINFO
WHERE 1=1
ID=#id#
NAME LIKE '%$name$%'
AGE=#age#
package com.model;
import java.io.Serializable;
/**
* 表USERINFO实体类
* @author liwenchao
*
*/
public class UserInfo implements Serializable {
private static final long serialVersionUID = -4015754004129672428L;
/**
* ID
*/
private int id;
/**
* 名字
*/
private String name;
/**
* 年龄
*/
private int age;
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.service;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import com.model.UserInfo;
/**
* 用户信息接口
* @author liwenchao
*
*/
public interface UserInfoService {
/**
* 查询所有数据
* @return
* @throws SQLException
*/
public List findAll() throws SQLException;
/**
* 根据条件查询数据
* @param param 参数集合
* @return
* @throws SQLException
*/
public List findList(Map param) throws SQLException;
/**
* 保存数据
* @param upgradeRank
* @throws SQLException
*/
public void save(UserInfo user) throws SQLException;
/**
* 更新数据
* @param user
* @throws SQLException
*/
public void update(UserInfo user) throws SQLException;
/**
* 删除数据
* @param id
* @throws SQLException
*/
public void delete(int userId) throws SQLException;
}
package com.service.impl;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import com.ibatisConfig.IbatisConfig;
import com.model.UserInfo;
import com.service.UserInfoService;
/**
* 用户信息实现类
* @author liwenchao
*
*/
public class UserInfoServiceImpl implements UserInfoService {
@SuppressWarnings("unchecked")
@Override
public List findAll() throws SQLException {
return IbatisConfig.getSqlMapClient().queryForList("UserInfo.findAll");
}
@SuppressWarnings("unchecked")
@Override
public List findList(Map param)
throws SQLException {
return IbatisConfig.getSqlMapClient().queryForList("UserInfo.findList",param);
}
@Override
public void save(UserInfo user) throws SQLException {
IbatisConfig.getSqlMapClient().insert("UserInfo.save", user);
}
@Override
public void update(UserInfo user) throws SQLException {
IbatisConfig.getSqlMapClient().update("UserInfo.update",user);
}
@Override
public void delete(int id) throws SQLException {
IbatisConfig.getSqlMapClient().delete("UserInfo.delete", id);
}
}
package com.service;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import com.model.UserInfo;
import com.service.impl.UserInfoServiceImpl;
public class UserInfoServiceTest {
UserInfoService service;
@Before
public void setUp() throws Exception {
service = new UserInfoServiceImpl();
}
@Test
public void testFindAll() {
try {
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testFindList() {
Map params = new HashMap();
params.put("id", 1);
params.put("name", "admin");
params.put("age", 10);
try {
List userList = service.findList(params);
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testSave() {
UserInfo user = new UserInfo();
user.setName("admin");
user.setAge(10);
try {
service.save(user);
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testUpdate() {
UserInfo user = new UserInfo();
user.setAge(20);
user.setName("system");
user.setId(1);
try {
service.update(user);
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testDelete() {
try {
service.delete(1);
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 输出
* @param user
*/
private void print(UserInfo user){
String printMessage =
"id:"+user.getId()+
",name:"+user.getName()+
",age:"+user.getAge();
System.out.println(printMessage);
}
}
CREATE TABLE `userinfo` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(200) DEFAULT NULL COMMENT '名字',
`age` bigint(3) DEFAULT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
SELECT * FROM USERINFO
INSERT INTO USERINFO
(
NAME,AGE
) VALUES (
#name#,#age#
)
UPDATE USERINFO
SET
NAME=#name#,AGE=#age#
WHERE
ID=#id#
DELETE FROM USERINFO
WHERE
ID=#id#
SELECT * FROM USERINFO
WHERE 1=1
ID=#id#
NAME LIKE '%$name$%'
AGE=#age#
package com.model;
import java.io.Serializable;
/**
* 表USERINFO实体类
* @author liwenchao
*
*/
public class UserInfo implements Serializable {
private static final long serialVersionUID = -4015754004129672428L;
/**
* ID
*/
private int id;
/**
* 名字
*/
private String name;
/**
* 年龄
*/
private int age;
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.service;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import com.model.UserInfo;
/**
* 用户信息接口
* @author liwenchao
*
*/
public interface UserInfoService {
/**
* 查询所有数据
* @return
* @throws SQLException
*/
public List findAll() throws SQLException;
/**
* 根据条件查询数据
* @param param 参数集合
* @return
* @throws SQLException
*/
public List findList(Map param) throws SQLException;
/**
* 保存数据
* @param upgradeRank
* @throws SQLException
*/
public void save(UserInfo user) throws SQLException;
/**
* 更新数据
* @param user
* @throws SQLException
*/
public void update(UserInfo user) throws SQLException;
/**
* 删除数据
* @param id
* @throws SQLException
*/
public void delete(int userId) throws SQLException;
}
package com.service.impl;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import com.ibatisConfig.IbatisConfig;
import com.model.UserInfo;
import com.service.UserInfoService;
/**
* 用户信息实现类
* @author liwenchao
*
*/
public class UserInfoServiceImpl implements UserInfoService {
@SuppressWarnings("unchecked")
@Override
public List findAll() throws SQLException {
return IbatisConfig.getSqlMapClient().queryForList("UserInfo.findAll");
}
@SuppressWarnings("unchecked")
@Override
public List findList(Map param)
throws SQLException {
return IbatisConfig.getSqlMapClient().queryForList("UserInfo.findList",param);
}
@Override
public void save(UserInfo user) throws SQLException {
IbatisConfig.getSqlMapClient().insert("UserInfo.save", user);
}
@Override
public void update(UserInfo user) throws SQLException {
IbatisConfig.getSqlMapClient().update("UserInfo.update",user);
}
@Override
public void delete(int id) throws SQLException {
IbatisConfig.getSqlMapClient().delete("UserInfo.delete", id);
}
}
package com.service;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import com.model.UserInfo;
import com.service.impl.UserInfoServiceImpl;
public class UserInfoServiceTest {
UserInfoService service;
@Before
public void setUp() throws Exception {
service = new UserInfoServiceImpl();
}
@Test
public void testFindAll() {
try {
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testFindList() {
Map params = new HashMap();
params.put("id", 1);
params.put("name", "admin");
params.put("age", 10);
try {
List userList = service.findList(params);
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testSave() {
UserInfo user = new UserInfo();
user.setName("admin");
user.setAge(10);
try {
service.save(user);
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testUpdate() {
UserInfo user = new UserInfo();
user.setAge(20);
user.setName("system");
user.setId(1);
try {
service.update(user);
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
@Test
public void testDelete() {
try {
service.delete(1);
List userList = service.findAll();
if(userList != null && userList.size()>0){
for (UserInfo userInfo : userList) {
print(userInfo);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 输出
* @param user
*/
private void print(UserInfo user){
String printMessage =
"id:"+user.getId()+
",name:"+user.getName()+
",age:"+user.getAge();
System.out.println(printMessage);
}
}
CREATE TABLE `userinfo` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(200) DEFAULT NULL COMMENT '名字',
`age` bigint(3) DEFAULT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
注意:MySqlMapConfig.xml文件是在src下。