springMVC + Mybatis +Mysql demo

*目录结构*
这里写图片描述

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 + "]";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值