mybatis的环境搭建及如何和搭配spring使用

本次博客主要介绍mybatis的环境搭建及如何和搭配spring使用,关于动态sql的部分可能会放在后面找一个专题来写。建议要有一定的ibatis的基础

1maven组织结构所需要的jar包

 

01<dependency>
02            <groupId>org.mybatis</groupId>
03            <artifactId>mybatis</artifactId>
04            <version>3.2.0</version>
05            <classifier>sources</classifier>
06        </dependency>
07        <dependency>
08            <groupId>org.mybatis</groupId>
09            <artifactId>mybatis</artifactId>
10            <version>3.2.0</version>
11        </dependency>
12 
13        <dependency>
14            <groupId>log4j</groupId>
15            <artifactId>log4j</artifactId>
16            <version>1.2.15</version>
17        </dependency>
18        <dependency>
19            <groupId>mysql</groupId>
20            <artifactId>mysql-connector-java</artifactId>
21            <version>5.1.16</version>
22        </dependency>

2 mybatis的配置文件

 

 

01<configuration>
02       <properties resource="mysql.properties"></properties>
03    <environments default="development">
04        <environment id="development">
05            <transactionManager type="JDBC" />
06            <dataSource type="POOLED">
07                <property name="driver" value="${driver}" />
08                <property name="url" value="${url}" />
09                <property name="username" value="${username}" />
10                <property name="password" value="${password}" />
11            </dataSource>
12        </environment>
13    </environments>
14    <mappers>
15        <mapper resource="org/mybatis/example/BlogMapper.xml" />
16    </mappers>
17</configuration>

其中configuration是根节点,其中properties节点引用了配置文件,setting节点用来做一些性能配置,environment节点用来配置数据库的环境,其中每一个环境对应了一个sqlsessionfactory,mapper节点主要对应着项目的mybatis的mapper文件

 

enviroments可以配置事务管理器,主要有两种类型,一种是JDBC,另一种是managed,www.1111kp.info, www.6699ysk.info, www.aaafaipiao.com, 

datasource用来配置数据源,其有三种类型,unpooled(每次查询都打开关闭连接),pooled(连接池),JNDI。

接下来是mybatis的mapper文件

 

1<mapper namespace="org.mybatis.example.BlogMapper">
2  <select id="selectBlog" parameterType="int" resultType="org.mybatis.example.Blog">
3    select * from Blog where id = #{id}
4  </select>
5</mapper>

其中几个主要的元素有select,update,delete,insert,sql,cache,resultmap

 

 

01public static void main(String[] args) throws IOException {
02        String resource = "org/mybatis/example/mybatis-config.xml";
03        InputStream inputStream = Resources.getResourceAsStream(resource);
04        SqlSessionFactory sqlSessionFactory = newSqlSessionFactoryBuilder().build(inputStream);
05        SqlSession session = sqlSessionFactory.openSession();
06        try {
07          Blog blog = (Blog) session.selectOne("org.mybatis.example.BlogMapper.selectBlog"1);
08          System.out.println("blog.name="+blog.getName());
09        finally {
10          session.close();
11        }
12    }

java的中调用如上面的代码,首先获取到mybatis的配置文件,然后获取到其中的sqlsessionfactory,通过sqlsessionfactory获取到sqlsession,接下来用sqlsession来执行查询语句。www.bbbkp123.info, www.fp1111.info, www.fp1234.info, www.fpfuzhou.com

 

另外mybatis和spring也有很好的结合,如果在mybatis中使用spring的话,需要在maven中额外的引入jar包

 

01<dependency>
02            <groupId>org.mybatis</groupId>
03            <artifactId>mybatis-spring</artifactId>
04            <version>1.1.1</version>
05            <classifier>sources</classifier>
06        </dependency>
07        <dependency>
08            <groupId>org.mybatis</groupId>
09            <artifactId>mybatis-spring</artifactId>
10            <version>1.1.1</version>
11        </dependency>

 

spring的配置文件如下:

 

01<!-- 导入属性配置文件 -->
02    <context:property-placeholder location="classpath:mysql.properties" />
03 
04    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
05        <property name="driverClassName" value="${driver}" />
06        <property name="url" value="${url1}" />
07    </bean>
08 
09    <bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
10        <property name="dataSource" ref="dataSource" />
11    </bean>
12 
13    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
14        <property name="configLocation" value="classpath:org/mybatisspring/test/mybatis-config.xml" />
15        <property name="dataSource" ref="dataSource" />
16    </bean>

这里配置了数据源,事务管理器和mybatis的sqlsessionfactory

 

接下来是如何配置mapper文件

 

1<!--<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">-->
2        <!--<property name="annotationClass" value="org.springframework.stereotype.Repository"/>-->
3        <!--<property name="basePackage" value="org.mybatisspring.test"/>-->
4        <!--<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>-->
5    <!--</bean>-->
6 
7    <bean id="studentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
8        <property name="mapperInterface" value="org.mybatisspring.test.StudentMapper" />
9        <property name="sqlSessionFactory" ref="sqlSessionFactory" />

采用第二种的配置方法的话,可以把mapper文件映射成一个java接口。接口中定义了mapper中的实现方法

 

 

1@Repository
2@Transactional
3public interface StudentMapper {
4    public StudentEntity getStudent(String studentID);
5}

具体是测试实现方法如下

 

 

1public static void main(String args[]){
2        ApplicationContext ac=new FileSystemXmlApplicationContext("applicationcontext.xml");
3        StudentMapper studentMapper=  ac.getBean(StudentMapper.class);
4        StudentEntity entity = studentMapper.getStudent("123123");
5        System.out.println("name:" + entity.getStudentName());
6    }

首先获得spring的配置文件,然后拿到mapper类,并表用mapper类的对应方法

 

总结一下。本文主要介绍了mybatis的使用及如何和spring配合使用。关于mybasit的底层实现和动态sql我准备以后单独在准备一个博客来写。

 

 

 

http://my.oschina.net/u/947963/blog

 

 

转载于:https://www.cnblogs.com/linuxsuperstart/archive/2013/03/05/2945161.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值