*目录结构*
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID"
version="3.0"
>
<display-name>wechatServer01</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- Spring前端控制器 -->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
<!-- /WEB-INF/applicationContext.xml -->
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 使用Filter解决中文乱码问题 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
</web-app>
application.xml
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/dateBaseName" />
<property name="username" value="" />
<property name="password" value="" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="mapperLocations"
value="classpath:com/XIII85/entity/*.xml" />
</bean>
<!-- 按指定包和注解标记扫描Mapper/DAO -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
<property name="basePackage" value="com.XIII85" />
<property name="annotationClass"
value="com.XIII85.annotation.MyBatisRepository" />
</bean>
<!-- 开启注解扫描 -->
<context:component-scan base-package="com.XIII85" />
<!-- 支持@RequestMapping请求和Controller映射 -->
<mvc:annotation-driven />
<!-- 处理请求转发 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/JSP/" />
<property name="suffix" value=".jsp" />
</bean>
controller
@Controller
public class MainController {
@Resource
UserInfoDao dao;
@RequestMapping("/start.do")
public String start() {
int max = dao.getMax();
System.out.println(max);
return "index";
}
}
MyBatisRepository
@Repository
public @interface MyBatisRepository {
String value() default "";
}
dao
@MyBatisRepository
public interface UserInfoDao {
List<UserInfo> findAll();
void insert(UserInfo user);
void update(UserInfo user);
List<UserInfo> getUserInfoByPage(@Param("start")int start ,@Param("count")int count);
void updateRemarkById(@Param("id") int id, @Param("remark") String remark);
void updateRemarkByOpenid(@Param("openId") String openId, @Param("remark") String remark);
String getOpenIdById(int id);
UserInfo getUserById(int id);
List<UserInfo> findAllByGroupId(int groupId);
List<UserInfo> findUserByNickNameLike(String str);
UserInfo getUserInfoByOpenid(String openid);
void deleteByOpenid(String fromUserName);
List<UserInfo> getUserInfoByPageAndGroupId(@Param("groupid")String groupId,@Param("start")int start ,@Param("count")int count);
int getMax();
int getMaxByGroupId(@Param("groupid")String groupId);
}
user映射
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="com.XIII85.dao.UserInfoDao">
<select id="findAll" resultType="com.XIII85.entity.UserInfo">
select* from userInfo
</select>
<insert id="insert" parameterType="com.XIII85.entity.UserInfo">
insert into userInfo
values(0,#{openId},#{subscribe},#{nickName},#{sex},#{language},#{city},#{province},#{country},#{headImgUrl},#{subscribeTime},#{remark},#{groupId})
</insert>
<update id="update" parameterType="com.XIII85.entity.UserInfo">
update userInfo
set subscribe =
#{subscribe}, nickName =
#{nickName},sex=#{sex},language=#{language},city=#{city},province=#{province},country=#{country},headImgUrl=#{headImgUrl},subscribeTime=#{subscribeTime},remark=#{remark},groupId=#{groupId}
where openId = #{openId}
</update>
<select id="getUserInfoByPage" parameterType="java.lang.Integer"
resultType="com.XIII85.entity.UserInfo">
select* from userInfo
limit #{start} ,#{count}
</select>
<update id="updateRemarkById">
update userInfo
set remark=#{remark}
where id= #{id}
</update>
<select id="getOpenIdById" parameterType="java.lang.Integer"
resultType="java.lang.String">
select openId from userinfo
where id = #{id}
</select>
<select id="getUserById" resultType="com.XIII85.entity.UserInfo">
select * from userinfo
where
id = #{id}
</select>
<select id="findAllByGroupId" resultType="com.XIII85.entity.UserInfo">
select * from userinfo
where groupId = #{groupId}
</select>
<select id="findUserByNickNameLike" parameterType="java.lang.String"
resultType="com.XIII85.entity.UserInfo">
SELECT * FROM userinfo
WHERE nickName LIKE concat('%',
#{deviceName}, '%')
</select>
<select id="getUserInfoByOpenid" parameterType="java.lang.String"
resultType="com.XIII85.entity.UserInfo">
SELECT * FROM userinfo
WHERE openId = #{openId}
</select>
<update id="updateRemarkByOpenid">
update userInfo
set remark=#{remark}
where openId=
#{openId}
</update>
<delete id="deleteByOpenid" parameterType="java.lang.String">
delete from userinfo
where openId = #{openid}
</delete>
<select id="getUserInfoByPageAndGroupId" resultType="com.XIII85.entity.UserInfo">
select *
from userinfo
where groupId = #{groupid}
limit #{start} ,#{count}
</select>
<select id="getMax" resultType="java.lang.Integer">
select count(openId) from
userinfo
</select>
<select id="getMaxByGroupId" resultType="java.lang.Integer">
select count(openId)
from
userinfo
where groupId = #{groupid}
</select>
</mapper>
user实体类
int id;
String openId;
String subscribe;
String nickName;
String sex;
String language;
String city;
String province;
String country;
String headImgUrl;
int subscribeTime;
String remark;//鍏紬鍙疯繍钀ヨ?瀵圭矇涓濈殑澶囨敞
int groupId;
String groupName;
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public String getHeadImgUrl() {
return headImgUrl;
}
public void setHeadImgUrl(String headImgUrl) {
this.headImgUrl = headImgUrl;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public String getSubscribe() {
return subscribe;
}
public void setSubscribe(String subscribe) {
this.subscribe = subscribe;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public int getSubscribeTime() {
return subscribeTime;
}
public void setSubscribeTime(int subscribeTime) {
this.subscribeTime = subscribeTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public int getGroupId() {
return groupId;
}
public void setGroupId(int groupId) {
this.groupId = groupId;
}
@Override
public String toString() {
return "UserInfo [id=" + id + ", openId=" + openId + ", subscribe=" + subscribe + ", nickName=" + nickName + ", sex=" + sex + ", language=" + language + ", city=" + city + ", province=" + province + ", country=" + country + ", headImgUrl=" + headImgUrl + ", subscribeTime=" + subscribeTime + ", remark=" + remark + ", groupId=" + groupId + ", groupName=" + groupName + "]";
}