在idea中创建maven工程,搭建mybatis框架,完成表单的增删查
1.我先创建了一个名字users的数据库和user的数据表
然后就创建一个maven项目
2.新建项目,选择创建Maven工程,选择自己电脑中的JDK,点击下一步。
就选择这个maven,我就直接下一步,把名字写好,位置放好了之后点完成就新建好咯
3.然后就是在mybatis官网找到依赖代码,放到pom.xml文件中,就是这里
哦对,要注意版本不能和mysql相差太大哦。我感觉不能超过3个x
在运行的时,可能会出现文件资源获取失败的问题,也可以直接将下面的代码复制在项目的pom.xml配置文件中。
<build> <resources> <resource> <directory>src/main/resources</directory><includes> <include>**/*.properties</include><include>**/*.xml</include> </includes> <filtering>true</filtering></resource> <resource> <directory>src/ main/java</directory><includes> <include>**/*.properties</include><include>**/*.xml</include> </includes> <filtering>true</filtering></resource> </resources> </build>
添加完依赖记得刷新┗|`O′|┛ 嗷~~
4.然后新创建一个mybatis-config.xml文件,放在resources文件中,配置config.xml ,
根据每个人不同情况配置url数据库名密码啥的
5.编写一个mybatis工具类,然后我是类名是什么样的我包名就起什么样的
用SqlSessionFactory对象的openSession()方法传递传递参数
代码是这样滴
package com.mybatis; 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 SqlSessionFactory sqlSessionFactory; static { try { String resource = "mybatis-config.xml"; InputStream inputStream= Resources.getResourceAsStream(resource); sqlSessionFactory= new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true); } }
6.然后创建一个实体类,把要用到的属性跟数据库要一样,要看好!我做的时候就错了一小下,烦死(翻白眼)。
7.创建接口,写你要用的方法,看我的是这样的
8.创建完接口要实现它呀,创建名字一样的xml文件。非常方便,想要实现sql语句都在这个里面改,sql语句要和接口里面的一样要注意!我这之前又错了一小下!
9.然后写一个测试类,我创建了一个com.userdao包,在这下边创建userdaotext测试类,根据不同的参数进行增删改查 ,要关闭连接┗|`O′|┛ 嗷~~
具体代码:
package com.userdao; import com.dao.UserMapper; import com.mybatis.mybatisUtils; import com.user.User; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.List; public class userdaotext { @Test public void text(){ //第一步:获得SqlSession对象 SqlSession sqlSession= mybatisUtils.getSqlSession(); //执行sql UserMapper userMapper=sqlSession.getMapper(UserMapper.class); List <User> userList = userMapper.getUserList(); for(User user : userList){ System.out.println(user); } sqlSession.close(); } @Test public void getUserById() { SqlSession sqlSession = mybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.getUserById(1); System.out.println(user); sqlSession.close(); } @Test //增删改需要提交事务 public void addUser(){ SqlSession sqlSession = mybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int res = mapper.addUser(new User("张张", "1236")); if (res > 0) { System.out.println("插入成功"); } //提交事务 sqlSession.commit(); sqlSession.close(); } @Test //修改一条记录 public void updateUser(){ SqlSession sqlSession = mybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int res = mapper.updateUser(new User(7, "anny", "anny123")); if (res > 0) { System.out.println("修改成功"); } //提交事务 sqlSession.commit(); sqlSession.close(); } @Test //删除一条记录 public void deleteUser () { SqlSession sqlSession = mybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.delUser(1); sqlSession.commit(); sqlSession.close(); } } 最后都运行完成了是这样滴,先是查询
id为1的返回了null
然后插入
插入了好几个都成功啦
修改id为5的改成路额额,也成功啦
最后删除id为3的