最近公司想做一个万能遥控器,可以通过手机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.Driver
url=jdbc:mysql://127.0.0.1:3306/employee
username=psc
password=powerstronic
3.配置数据源
在beans.xml文件下,添加数据源
<bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.propertiesvalue>
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"/>
<property name="configLocation" value="classpath:MyBatis-config.xml"/>
bean>
其中,MyBatis-config.xml的代码如下:
<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: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.测试完成数据库的连接和插入一条记录
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;
}
}
package com.psc.mrkong.mapper;
import com.psc.mrkong.po.User;
public interface UserMapper {
int addUser(User user);
}
<mapper namespace="com.psc.mrkong.mapper.UserMapper">
<insert id="addUser" parameterType="user">
insert into emp ( ename,age) values ( #{ename},#{eage})
insert>
mapper>
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;
}
}
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
@Service
public class UserServiceImpl implements UserService{
//注解获取mapper实现
@Resource(name="userMapper")
UserMapper userMapper;
@Override
public boolean addUser(User user) {
int add = userMapper.addUser(user);
return add>0;
}
}
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,对数据库进行增删改查的操作,基本参考第二步来实现
点击下载