实体类package cn.liwen.entity;public class User { private long id; //主键 private String username;//用户名 private String password;//密码 public long getId() { return id; } public void setId(long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; }}
接口实现类package cn.liwen.impl;import cn.liwen.entity.User;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.testng.annotations.Test;import org.testng.annotations.BeforeClass;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.List;import java.util.Map;public class UserDaoImpl { private SqlSession session = null; @BeforeClass public void init() throws IOException { // 1、启动mybatis框架 // SqlSession--->SqlSessionFatory----->SqlSessionFatoryBuilder SqlSessionFactoryBuilder ssb = new SqlSessionFactoryBuilder(); // 将mybatis.xml文件转化成流 InputStream ins = Resources.getResourceAsStream("mybatis.xml"); SqlSessionFactory ssf = ssb.build(ins); session = ssf.openSession(); } /** * 查询所以名字 * */ @Test public void getAllUser() { /** 2、调用局部配置文件中的sql语句*/ List userList = session.selectList("cn.liwen.impl.UserDaoImpl.getAllUser"); for (User user : userList) { System.out.println(user); } } /**使用lists方式*/ @Test public void getAllUserlist() throws IOException { List userList = session.selectList("cn.liwen.impl.UserDaoImpl.getAllUserlist"); for (User user : userList) { System.out.println(user); } } /**使用map方式*/ @Test public void getAllUser2() { // 2、调用局部配置文件中的sql语句 List> userList = session.selectList("cn.liwen.impl.UserDaoImpl.getAllUser2"); for (Map map : userList) { System.out.println(map); } } /**测试单条记录方式*/ @Test public void getUserById() { //带参数方式 long id = 1L; Map userList = session.selectOne("cn.liwen.impl.UserDaoImpl.getUserById",id); System.out.println(userList); } /**多个参数*/ @Test public void getUserByCondition() { Map paraMap = new HashMap(); paraMap.put("username","李玟"); paraMap.put("pwd","321321"); Map userList = session.selectOne("cn.liwen.impl.UserDaoImpl.getUserById",paraMap); System.out.println(userList); } /**通过实体类方式取值*/ @Test public void getUserByCondition2() { // 同时传递多个参数 User user = new User(); user.setUsername("李玟"); user.setPassword("321321"); Map userMap = session.selectOne("cn.liwen.impl.UserDaoImpl.getUserByCondition2", user); System.out.println(userMap); } /** 执行模糊查询 */ @Test public void getUserByMh() { // 传递参数 Map paramMap = new HashMap(); paramMap.put("password", "3"); List> userMap = session.selectList("cn.liwen.impl.UserDaoImpl.getUserByMh", paramMap); for (Map map : userMap) { System.out.println(map); } } /**添加数据 delete、insert、update标签没有resultType属性 */ @Test public void addUser() { Map paramMap = new HashMap(); paramMap.put("username","北京"); paramMap.put("password","123455"); int flag = session.insert("cn.liwen.impl.UserDaoImpl.addUser", paramMap); //增删改必须提交事务 session.commit(); System.out.println(flag); }}
接口实现类.xml<?xml version="1.0" encoding="UTF-8"?>mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> SELECT * FROM users SELECT * FROM users SELECT * FROM users SELECT * FROM users where id=#{id} SELECT * FROM users WHERE username=#{username} AND PASSWORD=#{pwd} SELECT * FROM users WHERE username=#{username} AND PASSWORD=#{password} SELECT * FROM users WHERE PASSWORD LIKE CONCAT('%',#{password},'%') INSERT INTO users SET username=#{username},PASSWORD=#{password}
mybatis.xml文件<?xml version="1.0" encoding="UTF-8"?>configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">