上代码
1,创建User实体类,产生set,get,方法,实例化,toString
```java
public class User {
private int id;
private String name;
private String pwd;
public User() {
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
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 getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
2,方法层UserDao`
```java
public interface UserDao {
//模糊查询
List<User>getUserLike(String value);
//查询全部用户
List<User> getUserList();
//根据ID查询用户
User getUserById(int id);
User getUserById2(Map<String,Object>map);
//增加用户
int addUser(User user);
//万能增加用户
int addUser2(Map<String,Object>map);
//修改用户
int upDateUser(User user);
//删除用户
int deleteUser(int id);
}
3,在UserMapper.xml写出相应的SQL语句,供数据库调用
```java
<select id="getUserLike" resultType="com.yinggu.entity.User">
select * from mybatis.user where name like #{value};
</select>
<select id="getUserList" resultType="com.yinggu.entity.User">
select * from mybatis.user;
</select>
<select id="getUserById" parameterType="int" resultType="com.yinggu.entity.User">
select * from mybatis.user where id =#{2};
</select>
<select id="getUserById2" parameterType="map" resultType="com.yinggu.entity.User">
select * from mybatis.user where id =#{id} ;
</select>
<insert id="addUser" parameterType="com.yinggu.entity.User">
insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
</insert>
<insert id="addUser2" parameterType="map">
insert into mybatis.user(id,name,pwd) values (#{userid},#{username},#{password});
</insert>
<update id="upDateUser" parameterType="com.yinggu.entity.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
</update>
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id =#{id};
</delete>
4,在测试类写入方法,操作数据库并返回结果集
@Test
public void getUserLike(){
SqlSession sqlSession = MybatisUtil.getSqlSession();//数据库连接
UserDao mapper = sqlSession.getMapper(UserDao.class);//接口操作
List<User> userList = mapper.getUserLike("%李%");//执行通配符或者拼接字符串
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
@Test
public void Test(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtil.getSqlSession();//数据库连接
UserDao mapper = sqlSession.getMapper(UserDao.class);//接口操作
User user = mapper.getUserById(2);
System.out.println(user);
sqlSession.close();
}
@Test
public void getUserById2(){
SqlSession sqlSession = MybatisUtil.getSqlSession();//数据库连接
UserDao mapper = sqlSession.getMapper(UserDao.class);//接口操作
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("id",1);
mapper.getUserById2(map);
User user= mapper.getUserById2(map);
System.out.println(user);
sqlSession.close();
}
@Test
public void addUser(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
int i= mapper.addUser(new User(4,"哈哈","123333"));
if(i>0){
System.out.println(i);
}
sqlSession.commit();
sqlSession.close();
}
@Test
public void addUser2(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
Map<String, Object> map = new HashMap<String,Object>();
map.put("userid",5);
map.put("username","Hello");
map.put("password","123321");
mapper.addUser2(map);
sqlSession.commit();
sqlSession.close();
}
@Test
public void upDateUser(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
mapper.upDateUser(new User(4,"呵呵","123456"));
sqlSession.commit();
sqlSession.close();
}
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
mapper.deleteUser(4);
sqlSession.commit();
sqlSession.close();
}
5,结果展示
(1)模糊查询
(2)查询id=2的所有信息
(3)增加id为4 的信息
(4)修改id=4的信息
(5)删除id=4的全部信息
增删改查全部讲解清楚,最后小编提一句,查询不用向数据库提交事务,删除、修改、添加均需要向数据库添加commit(),否则代码不报错,但产生不了你想要的结果。今天就到这里吧。