Mybatis:持久性框架
第一个Mybatis程序搭建环境——导入Mybatis——编写代码——测试
1.1搭建环境(1)搭建数据库
![在这里插入图片描述](https://img-blog.csdnimg.cn/acbaef9aff5343bb90aa60d34122294e.png
a、新建一个普通Maven项目,导入maven依赖
mysql mysql-connector-java5.1.6 runtime org.mybatis mybatis3.5.2 junit junit4.12 test
b、创建一个模块
编写mybatis核心配置文件
编写mybatis工具类
package com.mybatis.utils; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; public class MybatisUtils { static { try{ //使用Mybatis获取SQLSessionFactory对象 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } }1.3编写代码
实体类
package com.pojo; public class User { private int id; private String name; private String pwd; public User(){ } 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; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + ''' + ", pwd='" + pwd + ''' + '}'; } }
Dao接口
package com.mybatis.dao; import com.mybatis.pojo.User; import java.util.List; public interface UserDao { //查询全部用户 ListgetUserList(); //根据ID查询用户 User getUserById(int id); //增加用户 int addUser(User user); //修改用户 int updateUser(User user); //删除用户 int deleteUser(int id); }
接口实现类改为XML文件(UserMapper.xml)
测试
package com.dao; import com.mybatis.dao.UserDao; import com.mybatis.pojo.User; import com.mybatis.utils.MybatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.List; public class UserDaoTest { @Test public void Test01(){ //获取SQLSession对象,实例化对象 //以下两行重复使用 SqlSession sqlSession = MybatisUtils.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); ListparameterTypeuserList = mapper.getUserList(); for (User user : userList) { System.out.println(user); } sqlSession.close(); } @Test public void getUserById02(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); User user = mapper.getUserById(1); System.out.println(user); sqlSession.close(); } @Test //增删改需要提交事务 public void addUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); int result = mapper.addUser(new User(4,"丁六","123")); sqlSession.commit(); sqlSession.close(); } @Test public void updateUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); int result = mapper.updateUser(new User(4, "丁六", "147")); sqlSession.commit(); sqlSession.close(); } @Test public void deleteUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); int result= mapper.deleteUser(4); sqlSession.commit(); sqlSession.close(); } }
(1)Map传递参数,直接在sql中取出key即可
parameterType = “map”
(2)对象传递参数,直接在sql中取对象的属性即可
parameterType = “User”
(3)只有一个基本类型参数的情况下,可直接在sql中取到
可省略
(4)多个参数用map,或者注解
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)