本文共 6185 字,大约阅读时间需要 20 分钟。
1.创建数据库
2.创建Maven项目如下结构,记得标记java和resources目录为资源目录 3.导包,配置pom.xml4.0.0 com.muan MyBatis练习 1.0-SNAPSHOT junit junit 4.11 org.mybatis mybatis 3.5.1 mysql mysql-connector-java 5.1.47 log4j log4j 1.2.17 src/main/java **/*.properties **/*.xml false src/main/resources **/*.properties **/*.xml false
4.在pojo包下编写实体类User
package com.muan.pojo;public class User { private int id; private String name; private String password; public User() { } public User(int id, String name, String password) { this.id = id; this.name = name; this.password = password; } 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 getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", password='" + password + '\'' + '}'; }}
5.编写dao层接口
package com.muan.dao;import com.muan.pojo.User;import java.util.List;public interface UserMapper { //获取全部用户 ListgetAllUser(); //通过id获取用户 User getUserById(int id); //添加一个用户 int addUser(User user); //通过id删除用户 int deleteUserById(int id); //修改用户 int modify(User user);}
6.编写对应的xml文件,并编写SQL
insert into user(id,name,pwd) values (#{id},#{name},#{password}) delete from user where id=#{id} update user set name=#{name},pwd=#{password} where id=#{id}
7.编写JDBC配置文件database.properties
driver = com.mysql.jdbc.Driverusername = rootpassword = 123456url = jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
8.配置mybatis-config.xml
9.编写mybatis工具类
package com.muhan.utils;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 java.io.IOException;import java.io.InputStream;public class MyBatisUtils { //类变量不需要设置默认值; private static SqlSession sqlSession; static { //在maven中,所有的资源文件一般都放在resources目录下,我们可以直接拿到。 try { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); sqlSession= sqlSessionFactory.openSession(); } catch (IOException e) { e.printStackTrace(); } } //设置SqlSessionFactory公共的方法 public static SqlSession getSqlSession(){ return sqlSession; }}
10.测试:在Test目录下的编写测试类
@Test public void getAllUserTest(){ //通过工具类获取sqlSessionFactory对象 SqlSession sqlSession = MyBatisUtils.getSqlSession(); //获取mapper队形,参数传入的是接口类的class对象 UserMapper mapper = sqlSession.getMapper(UserMapper.class); //通过mapper对象调用方法 ListallUser = mapper.getAllUser(); for (User user : allUser) { System.out.println(user); } }
效果展示:
@Test public void getUserById(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User userById = mapper.getUserById(1); System.out.println(userById); }
效果展示:
//添加用户 @Test public void addUser(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = new User(4, "小可爱", "123456"); mapper.addUser(user); sqlSession.commit(); sqlSession.close(); }
效果展示:
@Test public void deleteUserById(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.deleteUserById(4); sqlSession.commit(); sqlSession.close(); }
效果展示:
@Test public void modify(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = new User(4, "小可爱", "5678"); mapper.modify(user); sqlSession.commit(); sqlSession.close(); }
效果展示:
转载地址:http://joiwi.baihongyu.com/