springmvc+mybatis配置过程及示例

来源:互联网 发布:ubuntu输入法设置中文 编辑:程序博客网 时间:2024/06/03 23:48

最近公司想做一个万能遥控器,可以通过手机APP,远程遥控到万能遥控器,最后由万能遥控器通过红外线发射控制家居设备,如空调,窗帘等
如果要开发这么一个遥控器,不难发现这部分离不开云端的开发。目前公司还没有做后台的人员,而我是做Android开发的,我们公司是小公司,就目前这个项目来看,通过我的评估,招聘相关人员来开发,成本还是挺大的,所以公司是不愿意招聘后台人员的,那怎么办呢?我去做咯,谁叫我是全能的呢,不要笑,我也是做过后台开发的,只是以前是打杂的!
不扯了,回归正题。所有的软件开发的流程,大致如下:
第一:配置
第二:demo
第三:实战

好了,
第一步,配置springmvc+mybatis
1.导入jar,导入springMVC和mybatis相关的所有jar包
2.创建spring配置文件
3.配置数据源
4.创建sqlsessionFactory
5.配置事务
6.配置事务的传播性
7.配置aop
8.配置映射mapper
9.配置自动扫描

相关demo和截图
1.导入jar,导入springMVC和mybatis相关的所有jar包
这里写图片描述
2.创建spring配置文件
在源码目录下创建beans.xml的spring配置文件和jdbc.properties数据库配置文件
其中,jdbc.properties的配置demo如下:

driverClass=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/employeeusername=pscpassword=powerstronic

3.配置数据源
在beans.xml文件下,添加数据源

<!-- 将属性资源文件加载到Spring的上下文中 -->    <bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">        <property name="locations">            <list>                <value>classpath:jdbc.properties</value>            </list>        </property>    </bean>    <!-- 配置数据源 -->       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">               <property name="driverClassName" value="${driverClass}"/>                <property name="url" value="${url}"/>                <property name="username" value="${username}"/>                <property name="password" value="${password}"/>         </bean> 

4.创建sqlsessionFactory

  <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">       <!-- 指定数据源 -->         <property name="dataSource" ref="dataSource"/>          <!-- 指定mybatis的配置文件 -->         <property name="configLocation" value="classpath:MyBatis-config.xml"/>        </bean>

其中,MyBatis-config.xml的代码如下:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <typeAliases>        <typeAlias type="com.psc.mrkong.user.User" alias="user"/>    </typeAliases>    <mappers>        <mapper resource="com/psc/mrkong/mapper/User.xml"/>    </mappers></configuration>

5.配置事务

 <!-- 配置事务 -->       <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">         <property name="dataSource" ref="dataSource"/>        </bean>

6.配置事务的传播性

 <!-- 指定事务的传播特性 -->        <tx:advice id="txAdvice" transaction-manager="transactionManager">         <tx:attributes>            <tx:method name="find*" read-only="true"/>            <tx:method name="get*" read-only="true"/>            <tx:method name="query*" read-only="true"/>            <tx:method name="add*"  propagation="REQUIRED"/>            <tx:method name="put*"  propagation="REQUIRED"/>            <tx:method name="update*"  propagation="REQUIRED"/>            <tx:method name="change*"  propagation="REQUIRED"/>            <tx:method name="del*"  propagation="REQUIRED"/>         </tx:attributes>       </tx:advice>

7.配置aop

  <!-- 配置aop -->       <aop:config>            <aop:pointcut expression="execution(* com.psc.mrkong.service..*.*(..))" id="pointcut"/>            <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>       </aop:config>

8.配置映射mapper

  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">            <property name="basePackage" value="com.psc.mrkong.mapper"></property>       </bean>

9.配置自动扫描,在beans.xml下第一行子节点下,添加如下配置

OK,到这里,我们已经把springMVC和mybatis的基本配置配置完成,接下来我们写一个测试demo,也就是
第二,demo
1.完成最基本的测试,创建一个包含main函数的类,用来测试获取sqlSessionFactoryBean对象,然后打印出来,运行效果,可以正常把sqlSessionFactory对象打印出来
demo如下:

package com.psc.test;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.psc.mrkong.service.UserService;public class MainTest {    public static void main(String[] args) {         ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");         SqlSessionFactory sqlSessionFactory=(SqlSessionFactory) context.getBean("sqlSessionFactoryBean");         System.out.println(sqlSessionFactory);    }}

2.测试完成数据库的连接和插入一条记录

  • 创建User的bean类
package com.psc.mrkong.po;public class User {    private int sid;    private String ename;    private int eage;    public String getEname() {        return ename;    }    public void setEname(String ename) {        this.ename = ename;    }    public int getEage() {        return eage;    }    public void setEage(int eage) {        this.eage = eage;    }    public int getSid() {        return sid;    }    public void setSid(int sid) {        this.sid = sid;    }}
  • 创建mapper接口UserMapper
package com.psc.mrkong.mapper;import com.psc.mrkong.po.User;public interface UserMapper {    int addUser(User user);}
  • 创建mapper的sql映射配置文件User.xml,实现sql插入记录功能
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.psc.mrkong.mapper.UserMapper">    <insert id="addUser" parameterType="user">    insert into emp ( ename,age) values ( #{ename},#{eage})    </insert></mapper>
  • 创建service接口和实现类

service接口UserService

package com.psc.mrkong.service;import com.psc.mrkong.po.User;public interface UserService {    boolean addUser(User user);}

service接口实现类

package com.psc.mrkong.service.impl;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.psc.mrkong.mapper.UserMapper;import com.psc.mrkong.po.User;import com.psc.mrkong.service.UserService;public class UserServiceImpl implements UserService{    UserMapper userMapper;    @Override    public boolean addUser(User user) {        int add = userMapper.addUser(user);        return add>0;    }}
  • 注解获取mapper接口及其实现
package com.psc.mrkong.service.impl;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.psc.mrkong.mapper.UserMapper;import com.psc.mrkong.po.User;import com.psc.mrkong.service.UserService;//注解注册service@Servicepublic class UserServiceImpl implements UserService{    //注解获取mapper实现    @Resource(name="userMapper")    UserMapper userMapper;    @Override    public boolean addUser(User user) {        int add = userMapper.addUser(user);        return add>0;    }}
  • main函数测试demo
package com.psc.test;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.psc.mrkong.service.UserService;public class MainTest {    public static void main(String[] args) {         ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");         UserService userService=(UserService) context.getBean("userServiceImpl");         User user=new User();         user.setEname("大亨");         user.setEage(30);         System.out.println(userService.addUser(user));    }}

运行效果:成功添加一条记录到数据库中

第三,实战
其实,实战就是对springMVC+mybatis,对数据库进行增删改查的操作,基本参考第二步来实现

点击下载

原创粉丝点击