Эта статья в основном представляет интеграцию Maven, Mybatis и Spring MVC (картинки и тексты) строительства Java Framework. Это совместно с вами. Детали следующие:
SSM (Spring+Springmvc+Mybatis), в настоящее время относительно основное решение архитектуры на уровне предприятия. Стандартная модель проектирования MVC делит всю систему на четыре слоя: слой дисплея, уровень контроллера, сервисный слой и слой DAO. SpringMVC используется для того, чтобы нести ответственность за переадресацию запроса и управление просмотром, Spring реализует управление бизнес -объектами, а Mybatis используется в качестве движения постоянного объекта данных.
Детали рамы
Spring - это легкая структура разработки Java, созданную для решения сложности разработки предприятия. Цель весны не ограничивается разработкой на стороне сервера. С точки зрения простоты, тестируемости и свободной связи, любое приложение Java может извлечь выгоду из Spring. Проще говоря, Spring-это легкая инверсия управления (МОК) и сечение, ориентированная (AOP) структура контейнеров.
Springmvc является последующим продуктом Springframework, разделяя роли контроллеров, объектов модели, диспетчеров и объектов обработчика. Это разделение облегчает их настройку.
Mybatis-это структура на основе Java Persistence. Mybatis обеспечивает структуру сохранения уровня, включая карты SQL и объекты доступа к данным (DAO), которые устраняют ручную настройку практически всего кода и параметров JDBC и поиск наборов результатов. Mybatis использует простые XML или аннотации для конфигурации и необработанных отображений для карты интерфейсов и Java для записей в базе данных.
1. Скачать Eclipse
Скачать http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr
Выберите нужную версию
2. Создать новый проект Maven
Выберите «Файл»> «Новый» Maven Project
Вы можете увидеть следующий интерфейс
Нажмите рядом, чтобы увидеть следующий интерфейс. Мы выбираем Maven-Archetype-Webapp
Нажмите рядом, чтобы увидеть. Идентификатор группы - это имя пакета, а идентификатор артефакта - это название проекта. Здесь мы вводим группу идентификатор = com.cjt, artifact id = mymaven.
Наконец, нажмите «Закончить», чтобы успешно создать проект
3. Подготовка перед эксплуатацией проекта
После создания нового проекта вы можете увидеть ошибку, вызванную пути сборки и неспособностью представить пакет Javaee.
1) Установите путь сборки
Щелкните правой кнопкой мыши по проекту> Путь сборки-> Настройте путь сборки…
Затем выберите библиотеки
Maven выбирает библиотеку по умолчанию. Это неправильно. Давайте дважды щелкнем это, чтобы редактировать.
В следующем интерфейсе мы выбираем Alternate JRE или Workspace по умолчанию JRE. Здесь мы выбираем альтернативную jre.
2) Представьте Javaee Package
Представление пакета Javaee на pom.xml
<!-Импорт Java ee jar package-> <Devestion> <groupid> javax </GroupId> <artifactId> javaee-api </artifactid> <serse> 7.0 </version> </depertive>
4. Настройки файла конфигурации проекта
1) Установите pom.xml
Теперь мы настроили Pom.xml и загружаем пакет JAR. Этот процесс может быть немного медленным
Pom.xml:
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.cjt</groupId> <artifactId>MyMaven</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>TestMaven01 Maven Webapp </name> <url> http://maven.apache.org </url> <properties> <!-Номер версии весны-> <spring.version> 4.0.2.reelease </spring.version> <!-Номер версии mybatis-> <mybatis.version> 3.2.6 </mmybatis> <glavsion> <! <slf4j.version> 1.7.7 </slf4j.version> <log4j.version> 1.2.17 </log4j.version> </Свойства> <Depertiencies> <dehyedency> <groupid> junit </GroupId> <StrifactId> junit </artifactid> <serse> 3.8.1 </rabope> <//artifactid> <sersiod> 3.8.1 </версия> <srappope> </artifactid> <sersiod> 3.8.1 </версия> <Srappope> </artifactid> <persion>. ee jar package --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <!-- spring core package --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </depervice> <dependency> <groupid> org.springframework </groupid> <artifactid> Spring-web </artifactid> <sersive> $ {spring.version} </version> </resemency> <dependency> <groupd> org.springframework </GroupId> <strifactId> spring-oxm </artifactid> <sersion> $ {Spring.version} </version> </gehy Devility> <Dependency> <groupId> org.springframework </GroupId> <strifactid> spring-tx </artifactid> <sersion> $ {spring.version} </version> </jepertive> <seyedy> <groupd> org.springframework </version> </gethipendery> <seyedy> <groupid> org.sprimframeword </version> </gethipendery <StrifactId> Spring-jdbc </artifactid> <sersive> $ {Spring.version} </version> </dependency> <Depective> <groupid> org.springframework </GroupId> <artifactId> Spring-webmvc </artifactid> <sersion> $ {spring.version} </версия> </версия> </repertiny> <pery> </repertency> </repertency> </resemend> </repertency> </resemend> </repertency> </repertiny> </artifactid> <sersive> $ <groupId> org.springframework </GroupId> <ArtifactId> Spring-aop </artifactId> <sersion> $ {Spring.version} </version> </deploydent> <dehyederiny> <groupid> org.springframework </GroupId> <artifactid> spring-context-support </artifactid> </depervice> <dependency> <groupid> org.springframework </groupid> <artifactid> spring-test </artifactid> <version> $ {Spring.version} </version> </redybate> <!-Mybatis Core Package-> <DegyBatis> <groupId> org.mybatis </GroupId> <ratifactId> myBATISIS> <groupId> org.mybatis </GroupId> <tritifactId> myBATISISID> <sersion> $ {mybatis.version} </version> </dependency> <!-Mybatis/Spring Package-> <Dependency> <groupid> org.mybatis </GroupId> <ratifactid> mybatis-spring </artifactid> <serse> 1.2.2 </version> </jeperty> <!-Import java ee gare-> 1.2.2 </version> </redy> <! <groupId> javax </GroupId> <ArtifactId> Javaee-API </artifactId> <sersioD> 7.0 </version> </dependence> <!-Импорт MySQL Databas <!-Импортируйте пакет JAR DBCP для настройки базы данных в ApplicationContext.xml-> <Dependency> <groupId> commons-dbcp </GroupD> <artifactid> commons-dbcp </artifactid> <serview> 1.2.2 </version> </vehing> <!-JSTL Tag-Class-> <Group> <groupid> </version> </vehing> <! <Artifactid> jstl </artifactid> <sersion> 1.2 </version> </develocment> <!-пакет управления файлами журнала-> <!-log Start-> <depervice> <groupid> log4j </GroupId> <strifactId> log4j </artifactid> <sersion> $ {log4j.version} </версия> </artifactive> <version> $ {log4j.version} </версия> </verse> </ilfactid> $ aversion} </версия> </verviture> </ilfactid> <версия> {oversion> </ression> </artifactid> <версии> $ <depervice> <groupid> com.alibaba </groupid> <artifactid> fastjson </artifactid> <sersion> 1.1.41 </version> </depervice> <dehyedency> <groupid> org.slf4j </GroupId> <strifactid> slf4j-api </artifactid> <serse> $ {slf4j.version aversion> <//artifactid> <serse> $ <dependency> <groupid> org.slf4j </groupid> <artifactid> slf4j-log4j12 </artifactid> <sersive> $ {slf4j.version} </version> </repertive> <!-log end-> <!-json-> <dependency> <groupid> org.codehaus.jackson </! <Artifactid> jackson-mapper-asl </artifactid> <sersive> 1.9.13 </version> </dependency> <!-Пакет компонентов загрузки-> <Dependency> <groupId> commons-fileUpload </GroupId> <ratifactid> commons-fileUpload </artifactid> <serview> 1.3.1 </версия> </resemency> </Artifactid> <seriate> 1.3.1 </версия> </resemency> </resemency> </resemency> </resepload> </resemendty> </resepload>. <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> </dependency> </build> <finalName> testMaven01 </finalName> </build> </project>2) Создать JDBC.Properties
Driver = com.mysql.jdbc.driverurl = jdbc: mysql: // localhost: 3306/testusername = rootpassword =#определить начальный номер подключения инициализированные = 1#определить максимальный номер соединения maxactive = 20#определить максимальный максимальный максимальный простоя = 600.
3) log4j.properties
### Установить уровни журнала #### log4j.rootlogger = Debug, stdout, d, elog4j.rootlogger = debug, stdout, d ### Вывод в консоли ### log4j.appender.stdout = org.apache.log4j.consoleapdenderlog4j.appender.stdout.target = System.outlog4j.appender.stdout.layout = org.apache.log4j.patternlayout#log4j.appender.stdout.layout.conversionpattern = %d {Absolute} %5p %c {1}: %l - %m %nlog4j.prond %-d {yyyy-mm-dd hh: mm: ss} [%c]-[%p]%m%n ### Выходные $ {springmvc.root}/web-inf/logs/log.loglog4j.appender.d.append = truelog4j.appender.d.threshold = отладка log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4j.appender.layout.conversionpattern = %-my-m-m-m-m-m-m-hy-dd.patery HH: MM: SS} [ %t: %r] - [ %p] %m %n ### Сохранить информацию об исключении в отдельном файле ### log4j.appender.d = org.apache.log4j.dailyrollingfileAppenderlog4j.appender.d.file = $ {Springmvc.root./web-inf/logser. truelog4j.appender.d.threshold = ошибка log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4j.appender.4) Spring-Mvc.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http://www.springframe.orschema. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-3.1.x.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <! base-package = "com.cjt.controller"/> <!-Избегайте файлов загрузки, когда IE выполняет AJAX и возвращается в JSON-> <Bean Id = "MappingJackshttpmessageConverter"> <Fot name = "Поддержка MediaTypes"> <Siture> Protport> Text/html; charset = uTF-8 </value> </value> </value> </value> </value> </value> </value> </value> </value> </value> </value> </value> </value> </value> <valy> <valy> <valy> html; charset = utf- Функция аннотации SpringMVC для завершения отображения запросов и аннотаций Pojos-> <Bean> <name = "messageConverters"> <Sist> <ref bean = "mappingjacksonhttpmessageConverter"/> <!-json converter-> </list> </property> </bean> <! <!-Мое понимание конфигурации здесь состоит в том, чтобы автоматически префикс и суффикс. Строка, возвращаемой методом последующего действия, чтобы стать доступным адресом URL-> <name = name = "prefix" value = "/web-inf/jsp/"/> <name = "Суффикс" value = ". Jsp"/> </bean> <!-конфигурация. Если вы не используете загрузку файлов, вам не нужно ее настраивать. Конечно, если вы не совпадаете, то нет необходимости внедрять пакет компонентов загрузки в файле конфигурации-> <Bean Id = "MultipRESOLVER"> <!-Кодирование по умолчанию-> <name = "defaultEncoding" value = "utf-8" /> <!-Максимальный размер файла-> <свойство = "maxuploadsize" value = "1048776.> <> /name" /"maxuploadize" value = "1048776" /> <property in name = "maxuploadize" value = "104876" /> <property in name = "maxuploadize". Memory -> <name = name = "maxinmemorysize" value = "40960"/> </bean> </beans>
5) Spring-Mybatis.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http://www.springframe.orschema. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-3.1.x.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <!-Автоматическое Scan-> <context: component-casan-package =" com.cjt.serser "! <bean id="propertyConfigurer" > <property name="location" value="classpath:jdbc.properties" /> </bean> <bean id="dataSource" destroy-method="close"> <property name="driverClassName" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value = "$ {username}" /> <name = "password" value = "$ {пароль}" /> <!-Инициализировать размер соединения-> <name = "initialSize" value = "$ {initialSize}"> < /propetion> <!-Максимальное число пулов соединений-> <proportme = "maxactize" value = "$ {maxactive}"> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < / /play. <name = "maxidle" value = "$ {maxidle}"> </property> <!-Минимальный пул соединений на холостом ходу-> <name = "minidle" value = "$ {minidle}"> </property> <!-Получить максимальное время ожидания соединения-> <свойство = "maxwait" value = "$ {maxwait}"> </bean> </bean> <//bean> <//bean> </bean> </bean> </bean> </bean> </bean> </bean> </bean> </bean> </bean> </bean> </bean> <//property. и mybatis, нет файла отображения конфигурации mybatis-> <bean id = "sqlSessionFactory"> <name = "dataSource" ref = "dataSource"/> <!-Автоматическое сканирование файлов mapping.xml-> <propatore = "mapperlocations" value = "classpath: com/cjt/mapping/*. Имя пакета, где расположен интерфейс DAO, Spring автоматически найдет класс под ним-> <Bean> <name = "basePackage" value = "com.cjt.dao"/> <name = "sqlSessionFactoryBeanName" Value = "SqlSessionFactory"> </propetion> </bean> <! id = "TransactionManager"> <name = "dataSource" ref = "DataSource"/> </bean> </beans>Все вышеперечисленные файлы создаются в папке ресурсов
5. автоматически генерировать код базы данных
1) Создать новую таблицу
Во -первых, мы создаем новую таблицу user_t, а поля следующие:
2) Скачать пакет
Скачать пакеты включают: Mybatis-3.2.6.jar , Mybatis-Generator-core-1.3.3.jar, MySQL-Connector-Java-5.1.39-bin.jar
3) Запустить - автоматически генерировать код
Создайте новую папку, включая следующие файлы
GeneratorConfig.xml - это файл XML, который генерирует код, а содержимое следующим образом:
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype GeneratorConfiguration public "-// mybatis.org//dtd mybatis Generator Configuration 1.0 // en" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dt.> <generator-genorferfig_1_0.1_0. Драйвер базы данных-> <classpathentry location = "mysql-connector-java-5.1.39-bin.jar"/> <context id = "db2tables" targetruntime = "mybatis3"> <Комментарий-клейкий value = "true"/> </commentGenerator> <!-URL-адрес ссылки в базе данных, имя пользователя, пароль-> <jdbcconnection driverclass = "com.mysql.jdbc.driver" connectionUrl = "jdbc: mysql: // localhost: 3306/test" userId = "root" "palsor ="> </jdbconecty javAty> </jdbconecty> </jdbconectey> </jdbconecty> </jdbconecty name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- Generate the package name and location of the model --> <javaModelGenerator targetPackage="com.cjt.domain" targetProject="src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javamodelgenerator> <!-Сгенерировать имя пакета и местоположение файла отображения-> <sqlmapgenerator targetpackage = "com.cjt.mapping" targetProject = "src"> <свойство = "ensablesBpackages" value = "true"/> </> sqlmapGenerator> <! type = "xmlmapper" targetpackage = "com.cjt.dao" targetProject = "src"> <name = "ensablesBpackages" value = "true"/> </javaclientgenerator> <!-Таблица, которая будет сгенерирована, является названием таблицы в таблице таблицы. domainobjectname = "user" enablecountbyexample = "false" enableUpdatebyexample = "false" enableteletebyexample = "false" enableselectbyexample = "false" selectbyexample quepleryid = "false"> </table> </context> </generatorConfiguration>
Затем мы используем команду CMD, чтобы ввести вновь созданную папку и ввести:
java -jar mybatis -Generator -core -1.3.3.jar -configfile GeneratorConfig.xml -Overwrite
Наконец, код генерируется.
ПРИМЕЧАНИЕ. Код автоматически генерируется здесь через командную строку, и читатели также могут генерировать его через плагин Eclipse.
6. Запуск кода
Создайте новый пакет следующим образом: (Стрелки - все автоматически сгенерированные коды выше)
Iuserservice.java
общественный интерфейс iuserservice {public user getUserbyid (int id); }Userserviceimpl.java
@Servicepublic class userserviceimpl реализует iuserservice {@autowired private iuserdao userdao; public userserviceimpl () {System.out.println ("userserviceimpl"); } public user getUserbyid (int id) {return userdao.selectbyprimarykey (id); }}Usercontroller.java
@Controller@requestmapping ("/user") открытый класс usercontroller {public usercontroller () {system.out.println ("usercontroller"); } @Resource private iuserservice userservice; @Requestmapping ("/showUser") public String toIndex (httpservlectrequest, модель модели) {System.out.println ("Usercontroller Showuser"); int id = integer.parseint (request.getParameter ("id")); User user = userservice.getuserbyid (id); model.addattribute («Пользователь», пользователь); вернуть "Showuser"; }}Создайте новый каталог JSP в соответствии с Web-Inf и создайте новый файл showuser.jsp ниже
Showuser.jsp
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8" import = "java.util.*, com.cjt.domain.*"%> <! Doctype html public "-// w3c // dtd html 4.01. "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" content-type "content =" text/html; charset = UTF-8 " $ {user.username} </body> </html>Наконец, прикрепите 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" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.x.xcsd". Созданное веб-приложение </display-name> <!-файлы конфигурации Spring и Mybatis-> <Stext-Param> <param-name> contextConfiglocation </param-name> <value> classpath: spring-mybatis.xml </param-value> </context-param> <!-incoding filter-> <FivleTter> <Filter-name> EncoD-name> iname> iname> iname> </filter-name> </filter-name> </filter-name> </filter-name> </filter-name> </incodme> </incoding-name> </incoding-name> <! <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <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>/*</url-pattern> </filter-mapping> <!-Spring Slierer-> <lillerer-class> org.springframework.web.context.contextloaderListener </stirligher-class> </slirler> <! <lloader-class> org.springframework.web.util.introspectorCleanuplistener </stirler-class> </levesser> <!-Spring MVC Servlet-> <servlet> <servlet-name> springmvc </servlet-name> <servlet-class> org.spramework.web.servled.dispatchleshlase> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-mapping> <Servlet-name> Springmvc </servlet-name> <!-Здесь вы можете настроить *.do, соответствующая привычке суффиксов стопор-> <url-pattern>/</url-pattern> </servlet-mapping> <selcopply-file-list> <welcess-file>/index.jsp </werveding> </werveding-file-list> </web --pape>/index.jsp </welcome> </werveding-file> </web-app-app>/web-app-app>/web-app>/index.jsp.
Выше, генерация кода завершена.
Проекты можно скачать: https://github.com/cjt321/mavenspirngmvcmybatis
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.