903spring springmvc mybatis整合 springboot ssm

这是控制器 也就是servlet

spring早于mybatis

要将spring 和 mybatis 整合到一起

spring和mybatis的搭桥  不可以缺 

 导入spring transaction 就不用 手动commit了

ref是引用别人的类 把类对象引入

value 是字符串属性 塞入字符串就好

 省略这些步骤

 

spring间接管理mybatis

中小型项目用快捷工具一搞

大型项目还是要用到很多配置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:mvc="http://www.springframework.org/schema/mvc"
       xmlns:tx="http://www.springframework.org/schema/tx"
       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/mvc
                         http://www.springframework.org/schema/mvc/spring-mvc.xsd
                         http://www.springframework.org/schema/tx
                         http://www.springframework.org/schema/tx/spring-tx.xsd
">
    <context:annotation-config></context:annotation-config>
    <context:component-scan base-package="com.njbdqn.ss"></context:component-scan>
    <!--启动springmvc的注解模式-->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!--以下是mybatis连接数据库的整合-->
    <!--配置一个数据源 druid链接池配置-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
        <property name="url" value="jdbc:oracle:thin:@192.168.100.151:1521:orcl"></property>
        <property name="username" value="cm"></property>
        <property name="password" value="ok"></property>
        <property name="initialSize" value="30"></property>
        <property name="maxActive" value="1000"></property>
        <property name="minIdle" value="30"></property>
        <property name="maxWait" value="100000"></property>

    </bean>
    <!--自动事务 可以让用户不要commit-->
    <!--配置事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!--自动注释额自动化事务-->
    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
    <!--配置spring和mybatis整合-->
    <!--这个工厂不是mybatis的SqlSessionFactory 这是第三方的一个类-->
    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="mapperLocations" value="classpath*:mapper/*.xml"></property>
    </bean>
    <!--扫描所有的dao接口-->
    <bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.njbdqn.ss.dao"></property>
    </bean>


</beans>

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
 <!--通知tomcat 服务器启动spring和springmvc-->

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!--配置spring.xml变量-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring.xml</param-value>
  </context-param>

  <!--启动spring-->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!--启动spring mvc 将所有.do的方法都转为servlet-->

  <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:spring.xml</param-value>
    </init-param>

  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>

 

 pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>ss</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>ss Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <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.8.RELEASE</spring.version>
  </properties>


  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </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/com.alibaba/druid -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.10</version>
    </dependency>
    <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.springframework/spring-context -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</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-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.fasterxml.jackson.core/jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.8</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.8</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.8</version>
    </dependency>

  </dependencies>

  <build>
    <finalName>ss</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

bank.xml

 

 

 

 

 效果

 

 这里查不到值的原因在于 数据库里有四个id=4 的数据  但返回只能一个所以报错

Spring boot

 包都不用导了

springboot

改一下pom.xml文件

记得修改几个地方 setting javacompiler  还有product structure  甚至setting中的maven看下

 这些要写在小叶子里面

改成

SSM 根据项目  项目用SSM springboot 看设计师规定

能用springboot 就不用ssm,作为整个项目工程 有个架构师存在的。

项目很小只要暴露数据接口  就用boot

如果项目 业务需求有一天会变得非常庞大。 灵活性要 就考虑ssm

springboot 中小型公司 规模小

一般暴露数据接口

真正大型项目 还是微服务 可以用注释语法。

学java的人到后期一定要学习微服务! 学完这个才知道为什么可以这么懒

现在也基本不会有SSH

外面见到的基本都是SSM

微服务 就是小模块 微小的服务 拆成很多小块 用的时候临时拼

除了设计模式 还有算法 还可以折腾java虚拟机  可以越变越变态

作为框架 高级框架而讲  springcloud是最高级的

springboot玩法

 

 效果


 不写getset 会导致没有序列化错误

这里空格要按照规范

三层结构 控制层,业务逻辑服务层  ,dao层 数据层(数据链路层)

classpath 当前工程路径下

 

结构永远是三层结构

SSM和boot的底层不必去研究了!

这个底层源码太花时间了 要动手写 写一遍起码小半个月 要明白还不容易!

知道三层结构 要想明白MVC是什么 能把活干了就行!!

mybatis拼 语句

能够实现这六句话效果

 粗暴简单。增删改查 才需要

如果单单查可以不写这个

java的人

这些写个100多遍

基本功增删改查还是要练练得 狂练10遍  多换 几张表练练

最后看看能不能两表相连搞出来

增加增删改查功能

 

 


很多时候以后是面向百度编程


IDEA内窗口快速切换快捷键

ctrl加tap


专门生成数据手段

前端怎么点页面 把日志偷偷摸摸送进来?!

埋点

月薪三万要6年?!

最好的应该先写在redis 到晚上再转

前端埋点根据用户特定制造的

数据埋点 需要前端和后端的人配合 

我是对数据分析

一种是数据库大量数据

第二是埋点提供大量数据,甲方提供用户行为日志, 他们有埋点。

大数据工程师不需要了解怎么埋点的过程,每天生成一个日志文件,最起码你见过一个就行

主要是你要知道这一亿条数据怎么生成的!!

大数据工程师 了解下 数据源怎么来的就行了! 怎么来的用户信息, 是埋了点的

后期就可以挖掘分析了!

最起码要能讲出来。

数据三个来源  1数据库源(用的最多)

                        2埋点(知道怎么来的)

                        3

前端用ajax 后端用 先传到redis 晚上再慢慢 用randomaccess 传

我们是用数据的

一个小时内 无论ssm还是boot  增删改查到数据库 写完

 

 效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值