日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡明易懂:Spring MVC數(shù)據(jù)庫連接配置 (spring mvc配置數(shù)據(jù)庫連接)

Spring MVC是一款優(yōu)秀的Web開發(fā)框架,它以MVC設(shè)計(jì)模式為核心,通過注解和配置文件將Controller、Service、DAO、數(shù)據(jù)源、事務(wù)等功能進(jìn)行整合,為我們在Web開發(fā)中帶來了很大的方便。

在Spring MVC中進(jìn)行數(shù)據(jù)庫操作,需要先進(jìn)行連接數(shù)據(jù)庫的配置。今天,我們就來介紹一下Spring MVC數(shù)據(jù)庫連接配置的方法。

一、添加依賴

在pom.xml配置文件中添加數(shù)據(jù)源依賴:

“`

com.alibaba

druid-spring-boot-starter

1.2.6

“`

二、配置數(shù)據(jù)源

在application.yml(或application.properties)配置文件中添加以下內(nèi)容:

“`

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC

spring.datasource.username=root

spring.datasource.password=123456

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

“`

其中,url是連接數(shù)據(jù)庫的URL地址,username和password是連接數(shù)據(jù)庫的用戶名和密碼,driver-class-name是數(shù)據(jù)庫驅(qū)動名稱。

三、配置MyBatis

如果要使用MyBatis進(jìn)行數(shù)據(jù)庫操作,需要進(jìn)行如下配置:

1.添加依賴:

“`

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.1.3

“`

2.在application.yml(或application.properties)配置文件中添加以下內(nèi)容:

“`

mybatis:

type-aliases-package: com.xxx.xxx.domn

mapper-locations: classpath:mapper/*.xml

“`

其中,type-aliases-package是實(shí)體類所在的包名,mapper-locations是Mapper配置文件所在的路徑。

四、配置事務(wù)管理器

如果需要使用事務(wù)管理器,需要進(jìn)行如下配置:

1.添加依賴:

“`

org.springframework.boot

spring-boot-starter-jdbc

“`

2.在application.yml(或application.properties)配置文件中添加以下內(nèi)容:

“`

spring.jmx.enabled=true

spring.datasource.continue-on-error=true

spring.datasource.schema=classpath:db/schema.sql

spring.datasource.sql-script-encoding=UTF-8

spring.datasource.initialize=true

spring.datasource.platform=mysql

spring.jpa.hibernate.ddl-auto=none

spring.jpa.show-sql=false

spring.datasource.type: com.alibaba.druid.pool.DruidDataSource

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC

spring.datasource.username=root

spring.datasource.password=123456

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis:

type-aliases-package: com.xxx.xxx.domn

mapper-locations: classpath:mapper/*.xml

spring.datasource.max-active=20

spring.datasource.initial-size=1

spring.datasource.min-idle=1

spring.datasource.validation-query=select 1

spring.datasource.test-on-borrow=true

spring.datasource.pool-prepared-statements=true

spring.datasource.max-pool-prepared-statement-per-connection-size=20

spring.datasource.filters=stat,wall,log4j

spring.datasource.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

“`

其中,需要注意配置的是事務(wù)管理器的類型為com.atomikos.jdbc.AtomikosDataSourceBean,這是Spring Boot默認(rèn)的事務(wù)管理器,需要在類路徑下添加如下配置文件:

“`

# jta.properties

com.atomikos.icatch.service=com.atomikos.icatch.standalone.UserTransactionServiceFactory

com.atomikos.icatch.log_base_dir=./tmlog

com.atomikos.icatch.output_dir=./

com.atomikos.icatch.console_file=./tm_console.log

com.atomikos.icatch.console_listeners=com.atomikos.icatch.standalone.ConsoleLogManager

“`

到此,Spring MVC數(shù)據(jù)庫連接配置就介紹完了。希望對大家有所幫助。

相關(guān)問題拓展閱讀:

  • spring mvc mybatis 整合 大體步驟

spring mvc mybatis 整合 大體步驟

一、簡單說明

用到的框架:spring、springmvc,mybatis

開發(fā)工具:eclipse,apache-tomcat-6.0.39

jar包管理:maven

開發(fā)過程

一、建立工程

1、引入相關(guān)jar包:

junit

junit

4.8.1

test

provided, 因?yàn)閜rovided表明該包只在編譯和測試的時候用–>

javax.servlet

servlet-api

2.5

provided

二、引入mybatis相關(guān)內(nèi)容并測試

1、引入JAR包

UTF-8

yyyyMMddHHmmss

3.3.1

junit

junit

4.8.1

test

provided,因?yàn)閜rovided表明該包只在編譯和測試的時候用–>

javax.servlet

servlet-api

2.5

provided

org.mybatis

mybatis

${mybatis.version}

mysql

mysql-connector-java

5.1.25

這里面在pom里面使用了 標(biāo)簽重點(diǎn)看一下,在這個環(huán)節(jié)添加了數(shù)據(jù)庫連接的jar包和mybatis的jar包。這里要想可以操作數(shù)據(jù)庫需要編程式的讀取配置文件一般放在classpath下面。這里取名為conf.xml.這個里面主要完成2件事:

a:對數(shù)據(jù)庫4個基本信息的配置, b:引入mapper.xml文件。

下面對這個步驟里面的內(nèi)容進(jìn)行詳細(xì)說明:

1、創(chuàng)建im.fenqi.study.user.entity.User實(shí)體對象,這里導(dǎo)入一個lombok插件,這個插件要安裝(具體百度),可以不用顯示的寫set/get方法。

2、創(chuàng)建im/fenqi/study/user/mapper/UserMapper.xml文件,這個里面是對數(shù)據(jù)庫進(jìn)行操作一般和 im.fenqi.study.user.mapper.UserMapper配對使用,里面注意點(diǎn)。

標(biāo)簽mapper里面的namespace的值就是配對的JAVA類im.fenqi.study.user.mapper.UserMapper

標(biāo)簽resultMap:是為了解決實(shí)體類的屬性名字和數(shù)據(jù)庫字段名字不一致的問題。主鍵和其他鍵是有區(qū)別的。

resultMap里面定義的字段和屬性在對應(yīng)的表和實(shí)體必須有對應(yīng)的內(nèi)容否則會報(bào)錯。

標(biāo)簽trim:可以處理user(user_id,user_name,password)等問題,里面的子標(biāo)簽為:

prefix:前綴覆蓋并增加其內(nèi)容

suffix:后綴覆蓋并增加其內(nèi)容

prefixOverrides:前綴判斷的條件

找到最前面的和條件一樣的內(nèi)容然后變成prefix里面的內(nèi)容

例:

根據(jù)條件判斷trim里面的字符串為”AND id=#{id} AND name like #{name}”

找到最前面的AND(prefixOverrides的內(nèi)容)替換成where(prefix內(nèi)容)

如果沒有prefixOverrides的內(nèi)容就直接加在前面。

suffixOverrides:后綴判斷的條件

和prefixOverrides類似。

標(biāo)簽if:比較簡單,

標(biāo)簽sql:

id, user_id,user_name,password

使用場景:

select from user

需要返回的字段很多的時候不用每次都寫一遍

3、創(chuàng)建im.fenqi.study.user.mapper.UserMapper類這個和上面的文件是成對出現(xiàn)的,這是一個接口接口里面的方法名和UserMapper.xml里面的id要一致

4、測試類userTest

在本地測試主要使用SqlSession對象二這個對象需要使用SqlSessionFactory對象才能創(chuàng)建,下面先說SqlSessionFactory對象是怎么得到的

a:獲取配置文件config.xml的輸入流:

String resource = “/conf.xml”;

//從classpath里面尋找

InputStream resourceAsStream = Object.class.getResourceAsStream(resource);

b:獲取SqlSessionFactory對象

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);

c:獲取SqlSession對象:

SqlSession session = factory.openSession();

d:得到dao層的對象

UserMapper userMapper = session.getMapper(UserMapper.class);

d:插入數(shù)據(jù)

User user = new User();

user.setUserId(UUID.randomUUID().toString());

user.setUserName(“zw1”);

user.setPassword(“123456”);

int count = userMapper.saveUserInfo(user);

session.commit();

System.out.println(“insert:”+count);

三、引入spring框架并測試

首先需要引入必要的jar包,主要是spring必要的包和spring支持mybatis,jdbc的包

org.springframework

spring-core

${spring.version}

org.springframework

spring-beans

${spring.version}

org.springframework

spring-context

${spring.version}

org.springframework

spring-expression

${spring.version}

org.mybatis

mybatis-spring

1.2.1

org.springframework

spring-jdbc

${spring.version}

這個時候conf.xml這個配置文件已經(jīng)不需要了,統(tǒng)一在spring.xml里面進(jìn)行配置

1、配置數(shù)據(jù)庫連接

當(dāng)然這個配置可以寫在properties文件里面(用到再說)

2、spring引入以后主要目的就是利用IOC容器進(jìn)行創(chuàng)建對象,沒有加入spring之前SqlSessionFactory、SqlSession、UserMapper 對象的創(chuàng)建都是我們硬編碼實(shí)現(xiàn),spring就是為了解決這些問題,最后直接返回UserMapper 給我們使用。其他的事情都在配置里完成。這里面具體操作流程以后會詳細(xì)分析

3、創(chuàng)建SqlSessionFactory

創(chuàng)建這個對象需要數(shù)據(jù)源和mapper.xml配置文件的位置

4、創(chuàng)建UserMapper 對象(這一部分還要重點(diǎn)研究)

需要SqlSessionFactory對象創(chuàng)建SqlSession對象,然后創(chuàng)建UserMapper 對象,所以需要SqlSessionFactory和UserMapper 接口的位置,MapperScannerConfigurer是掃描包,不要每次都創(chuàng)建MapperFactoryBean

5、測試獲取對象

ApplicationContext context = new ClassPathXmlApplicationContext(“/spring.xml”);

UserMapper bean = context.getBean(“userMapper”,UserMapper.class);

List userByUser = bean.getUserByUser(null);

6、這個測試還可以使用spring自帶的test類

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(“/spring.xml”)

public class springtest {

@Autowired

private UserMapper userMapper;

@Test

public void save()

{

User user = new User(“zw1”, 20);

userMapper.save(user);

}

四、引入springmvc框架

首先引入springmvc的JAR包

org.springframework

spring-web

${spring.version}

org.springframework

spring-webmvc

${spring.version}

這個時候需要配置web.xml,也要配置springmvc.xml

1、配置web.xml

添加加載spring.xml的監(jiān)聽器和spring文件路徑

org.springframework.web.context.ContextLoaderListener

contextConfigLocation

classpath:spring.xml

springmvc

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:springmvc.xml

springmvc

/*

配置Dispatcherservlet和springmvx.xml配置文件的位置

2、配置springmvc.xml文件

springmvc.xml主要配置控制器、handlerMapper、HandlerAdapter、渲染器

3、編寫控制器控制器和配置的類型要一致

public class UserController implements Controller{

private UserService userService;

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

ModelAndView modelAndView = new ModelAndView();

List userList = userService.getUserByUser(null);

modelAndView.addObject(“user”, userList.get(0));

modelAndView.setViewName(“mypage”);

return modelAndView;

}

}

五、整合過程中出現(xiàn)的問題

1、IOC容器。

如果我使用XML配置IOC容器,自己定義一個類這個類里面的屬性想用IOC容器里面的對象初始化,必須提供set/get方法。

2、P不能使用el表達(dá)式,這個問題要解決

這個問題是缺少jar包的問題要想jsp使用起來不出現(xiàn)問題需要添加下面的包,最上面的包之前添加過了

provided,因?yàn)閜rovided表明該包只在編譯和測試的時候用–>

javax.servlet

servlet-api

2.5

provided

javax.servlet.jsp

jsp-api

2.2

provided

javax.servlet

jstl

1.2

taglibs

standard

1.1.2

3、mybatis和spring的配置過程還要具體分析

A:這個里面有很多種配置這一次就詳細(xì)說明一下我們這里使用的sqlSessionFactory和 MapperScannerConfigurer

sqlSessionFactory:創(chuàng)建的時候需要dataSource和mapper.xml的配置文件

MapperScannerConfigurer:可以整體掃描,提供基礎(chǔ)的包名可以使用通配符,需要sqlSessionFactoryBeanName用來創(chuàng)建sqlSessionFactory對象再創(chuàng)建SqlSession對象再通過SqlSession對象創(chuàng)建各個mapper對象。

spring mvc配置數(shù)據(jù)庫連接的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于spring mvc配置數(shù)據(jù)庫連接,簡明易懂:Spring MVC數(shù)據(jù)庫連接配置,spring mvc mybatis 整合 大體步驟的信息別忘了在本站進(jìn)行查找喔。

成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機(jī)房服務(wù)器托管租用。


分享名稱:簡明易懂:Spring MVC數(shù)據(jù)庫連接配置 (spring mvc配置數(shù)據(jù)庫連接)
文章源于:http://www.dlmjj.cn/article/djgcsii.html