Spring整合mybatis

来源:互联网 发布:熊猫tv淘宝买竹子 编辑:程序博客网 时间:2024/06/03 18:51

1 .导入相关jar包
2 .编写配置文件
spring配置文件 ,将mybatis交给spring管理

    <!--配置数据源  -->    <bean id="dataSource"  class="org.springframework.jdbc.datasource.DriverManagerDataSource">        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>            <property name="url" value="jdbc:mysql://localhost:3306/test"/>         <property name="username" value="root"/>            <property name="password" value="123456"/>      </bean>    <!-- 配置sqlSessionFactory -->    <bean id="sqlSessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource"  ref="dataSource"/>        <property name="configLocation" value="classpath:mybatis.cfg.xml"/>             </bean>    <bean id="sqlSessionTemplate"  class="org.mybatis.spring.SqlSessionTemplate">        <constructor-arg index="0"  ref="sqlSessionFactory"></constructor-arg>      </bean>    <bean id="userDao"  class="cn.sxt.dao.impl.UserDaoImpl">        <property  name="sqlSession"    ref="sqlSessionTemplate"></property>    </bean>
<configuration>    <typeAliases>        <package name="cn.sxt.vo"/>    </typeAliases><mappers><mapper resource="cn/sxt/vo/user.mapper.xml"/></mappers> </configuration>
<mapper namespace="cn.sxt.entity.user.mapper">    <select id="selectAll" parameterType="int" resultType="User">        select * from User     </select></mapper>

Dao接口

public interface UserDao {    public  List<User>  selectUser(); }

Dao实现

public class UserDaoImpl implements UserDao{    private SqlSessionTemplate  sqlSession;    public void setSqlSession(SqlSessionTemplate sqlSession) {        this.sqlSession = sqlSession;    }    @Override    public List<User> selectUser() {        return sqlSession.selectList("cn.sxt.entity.user.mapper.selectAll");    }}

测试

public class Test {    public static void main(String[] args) {        ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");        UserDao userDao=(UserDao)ac.getBean("userDao");        System.out.println(userDao.selectUser().size());    }}

总结:

  1. spring管理mybatis,配置了数据源,本来是mybatis里面的,现在交给spring管理,mybatis里面的就不用配置了
  2. sqlSession同理,Dao里面只需要定义sqlSessionTemplate,不再手动创建,也交给spring管理,先配置sqlSessionFactory,里面要定义数据源引用和mybatis配置文件的路径。然后配置sqlSessionTemplate,里面构造方法注入sqlSessionFactory(之所以用构造方法,因为里面没有相应的set方法)。之后并可以配置相对应的bean。
  3. 最后读取只需要读取beans.xml,所以下列的核心语句要记住。
ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");
原创粉丝点击