目录
学习背景
Mybatis复习
首先是导入mybaits
配置mapper
调用sql
下面是测试类
学习整合spring-mybatis
Spring配置文件:
替换mybatis配置文件:
sqlsessionfactory配置:
!!!更正一下获取mybatis配置文件应该为configLocation
sqlSession的构造器注入:
使用sqlSession
封装mybatis的spring配置
学习背景
学习了spring和Mybatis之后我们来试着把他们整合到一块
Mybatis复习 首先是导入mybaits
新建一个maven文件,在pom.xml里导入
org.mybatis mybatis3.5.2 mysql mysql-connector-java5.1.47
总体pom代码:
4.0.0 com.gao Spring-Mybatispom 1.0-SNAPSHOT baseMybatis org.mybatis mybatis3.5.2 mysql mysql-connector-java5.1.47 org.mybatis mybatis-spring2.0.6 org.springframework spring-webmvc5.3.15 junit junit4.12 test 8 8 src/main/java **/*.xml
接下来我们去配置mybatis的配置文件mybatis-config.xml
我喜欢这样配置maven项目,分享一下
一个大父类,多个子类可以继承
mybatis-config.xml就放置在resources下就好
mybatis-config.xml代码如下
现在新手,每次都得从网上找模块来写入(求助简单快捷有效的方法)
配置mapper
配置完mybatis-config.xml我们来配置mapper
首先在mapper层创建俩名字一样的文件
(尽量一样,这样在mybatis注册mapper不会出这么多问题)
之前在写登入注册的时候写了个user和usermapper方法,我直接copy了
User代码:
package com.gao.pojo; public class User { private int id; private String username; private String password; public int getId() { return id; } public void setId(int 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 + ''' + '}'; } }
还有mapper代码
Java
为了省事我们就直接写一个简单的查询
package com.gao.mapper; import com.gao.pojo.User; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; public interface UserMapper { @Select("select * from jd_user.user_login") Listselect(); }
xml代码
User代码
package com.gao.pojo; public class User { private int id; private String username; private String password; public int getId() { return id; } public void setId(int 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 + ''' + '}'; } }调用sql
配置完上面再配置一个sqlsessionfactory的工厂工具类
代码如下
package com.gao.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 SqlSessionFactoryUtil { private static org.apache.ibatis.session.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(); } }
至此,我们的配置以及工厂类都写完了
下面是测试类在test里创个测试类
代码:
package com.gzc; import com.gao.mapper.UserMapper; import com.gao.pojo.User; import com.gao.utils.SqlSessionFactoryUtil; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.List; public class test { @Test public void test(){ SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); Listlist = userMapper.select(); for (User user : list) { System.out.println("user = " + user); } } }
简单的测试是否连接数据库成功
ok完事
我们的mybatis复习就到这
具体的包长这样
学习整合spring-mybatis
好复习完spring-mybatis我们来学习spring-mybatis的整合
首先我们先在Spring-Mybatis文件夹下继续创一个子类
把上面的一些东西copy过来
具体的mapper层和Pojo层等:
再在pom里加入
org.springframework spring-jdbc5.3.15 org.springframework spring-webmvc5.3.15
然后在资源包中引入一个Spring.xml的配置文件
Spring配置文件: 替换mybatis配置文件:我们在spring的bean里导入一个spring的数据源datasource
在bean的里面输入 name里面包含的是不是很熟悉 没错就是我们mybatis-config的property内容 我们现在全都在spring里写,让spring帮我们配置 我们直接copy过来 然后配置spring里面sqlsessionfactory的bean文件 如图 这样我们的factory工具类也不需要了 如图使用 会报错提示我们的为存在构造函数 我们点进去查看他的类函数 发现有一个需要factory的有参构造,那我们就可以直接利用上面我们写的factory方法给予相应值 这样我们就获取了sqlsession,有了session我们就算正式连接数据库了 那么我们现在可以尝试一下 既然sqlSession已经变成对象,那么我们需要一个类方法实现他 创建个继承Mapper的类来实现 通过setter来实现spring的set注入 我们就能获取原来session里面的所有方法: 接下来我们就可以和之前一样用getmapper调用mapper了 再将这个类调入spring中 这样就可以实现数据库的连接和使用了 以上就是所有的mybatis配置文件 我们直接通过代码模板保存到idea里面 下次就可以使用了 欢迎分享,转载请注明来源:内存溢出
sqlSession的构造器注入:
org.mybatis.spring.SqlSessionTemplate这个类来获取
package com.gao.mapper;
import com.gao.pojo.User;
import java.util.List;
public class UserMapperImpl implements UserMapper{
@Override
public List
评论列表(0条)