工程创建
选择webapp,其他设置一样
jar包导入
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<spring.version>4.3.18.RELEASE</spring.version>
<jackson.version>2.9.8</jackson.version>
</properties>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations 注释-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
main文件夹下创建java和resources文件夹
建好Java三层结构
dao services controller
和实体类结构entity完成网页与java的信息交互
entity
resources文件夹下写各种配置文件
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.wxj.entity.User" alias="user"></typeAlias>
</typeAliases>
</configuration>
resources文件夹下创建mapper文件夹,写各种xml文件,用以实现接口 例:users.xml
这个需要dao层的接口创建后才能写,往下看
resources文件夹下创建spring.xml配置文件
开始复制
开始修改
简单解释:
context: spring的上下文环境,自动扫描
tx:自动提交
mvc:spring的model,view,control
下面是spring.xml的全部配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--开启自动扫描-->
<context:annotation-config></context:annotation-config>
<!--自动扫描com.wxj包下面所有的包和类,千万不能配多了-->
<context:component-scan base-package="com.wxj"></context:component-scan>
<!--开启数据库连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@oracle.server:1521:orcl"></property>
<property name="username" value="wxj"></property>
<property name="password" value="ok"></property>
<!--上面4个必配,下面的根据需求,这里只做示范-->
<property name="initialSize" value="3"></property>
<property name="maxActive" value="10"></property>
<property name="minIdle" value="3"></property>
<property name="validationQuery" value="select 1 from dual"></property>
</bean>
<!--开启自动事务提交-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--这里的ref的值就是上面数据库连接的id-->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--使用注释语法@Transaction就可自动提交-->
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
<!--开启spring和mybatis聚合-->
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
<property name="configLocation" value="mybatis.config.xml"></property>
</bean>
<!--开启dao下面所有接口的自动扫描和对象自动创建,使用时呼叫即可-->
<bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.wxj.dao"></property>
</bean>
<!--开启将用户实体转换为json功能-->
<mvc:annotation-driven></mvc:annotation-driven>
</beans>
JAVA代码书写
根据要使用的表的结构创建实体类
entity下创建实体类User
public class User {
private int userid;
private String username;
private Date birthday;
private float userhigh;
}
配合get与set方法
dao下创建UsersDAO接口
package com.wxj.dao;
import com.wxj.entity.User;
import java.util.List;
public interface UsersDAO {
public List<User> findAll();
}
在mapper文件夹下创建user.xml文件实现UsersDAO接口
<?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.wxj.dao.UsersDAO">
<select id="findAll" resultType="user">
select userid,username,birthday,userhigh from users
</select>
</mapper>
services下创建UsersService类用来做逻辑处理
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
//加了@Service表示可以用spring为这个类在后台new对象,需要用时呼叫即可
@Service
//自动提交事务
@Transactional
public class UsersService{
//dao下面所有的接口都已经通过spring的scanner实现过了
//<bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
// <property name="basePackage" value="com.njbdqn.myweb01.dao"></property>
// </bean>
//所以dao的所有接口不需要和service一样通知可以new,直接呼叫即可使用
@Autowired
private UsersDAO udao;
public List<User> searchAll(){
return udao.findAll();
}
}
control下创建InitCtrl类作为所有方法的入口,和web做交互
package com.wxj.controller;
import com.wxj.entity.User;
import com.wxj.services.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
//整个框架因为要部署在web上,因此没有main方法,使用此注释代表这个类所有的方法均可直接在网页直接调用
@RestController
public class InitCtrl {
//加了@Service表示可以用spring为这个类在后台new对象,需要用时呼叫即可
//@Service
//public class UsersService{
@Autowired
private UsersService usersService;
//sping里配置过对于.do文件都可直接识别进入,这里配置为users.do,
// 在网页端地址最后一层加上即可显示此方法的返回值,完成数据接口暴露
@RequestMapping("/users.do")
public List<User> users(){
return usersService.searchAll();
}
}
web部署
Name:自己想咋写咋写
Configure配到自己的tomcat文件夹根目录
浏览器:推荐谷歌,稳定性与兼容性好
Deployment
Application context可以自己修改,修改后网址会随之改变
修改VM options
网页端查看
运行程序,会出现一个网页界面,这个网址就是这里的
在后面加上.users.do,这个就是这里的
结果展示: