簡(jiǎn)單的mybatis demo和簡(jiǎn)單的spring demo做個(gè)簡(jiǎn)單的整合demo(4種方式)

方式清單

(先將jar包導(dǎo)完后)

  • 方式一

    思路

    1. 將數(shù)據(jù)庫連接有關(guān)的信息配置到db.properties
    2. 為了方便跟進(jìn)程序,在mybatis-config.xml中將mybatis的自帶日志打開
    3. applicationContext.xml中配置數(shù)據(jù)源、sqlSessionFactory、自動(dòng)掃描對(duì)象關(guān)系映射等
    4. 建立包:entities、dao、mapper、service、service.impl,并創(chuàng)建相應(yīng)類或接口

    代碼

    整體目錄結(jié)構(gòu):


    最終目錄結(jié)構(gòu)
配置db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/xzl?useUnicode=true&characterEncoding=utf8
jdbc.username=aaa
jdbc.password=123
配置mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
    
</configuration>
配置applicationContext.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:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    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">

    <!-- 導(dǎo)入外部配置文件 -->
    <context:property-placeholder location="db.properties"/>
    
    <!-- 配置service的實(shí)現(xiàn)類 -->
    <bean name="qqun_ListService" class="demo.cyj.service.impl.Qqun_ListServiceImpl"></bean>
    
    
    <!-- 數(shù)據(jù)源配置 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

    <!-- sqlSessionFactory給spring托管 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 數(shù)據(jù)源 -->
        <property name="dataSource" ref="dataSource"></property>
        <!-- 別名,類名開頭變小寫 -->
        <property name="typeAliasesPackage"  value="demo.cyj.entities"></property>
        <!-- sql映射文件路徑 -->
        <!-- classpath *和不加*的區(qū)別 -->
        <property name="mapperLocations" value="classpath*:demo/cyj/mapper/*Mapper.xml"></property>
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
    </bean>

          <!--自動(dòng)掃描對(duì)象關(guān)系映射 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--指定會(huì)話工廠,如果當(dāng)前上下文中只定義了一個(gè)則該屬性可省去 -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
        <!-- 指定要自動(dòng)掃描接口的基礎(chǔ)包,實(shí)現(xiàn)接口 -->
        <property name="basePackage" value="demo.cyj.dao"></property>
    </bean>
    

</beans>
實(shí)體類Q群列表:Qqun_List.java
package demo.cyj.entities;

import java.io.Serializable;

public class Qqun_List implements Serializable{
    
    private static final long serialVersionUID = -8969192680204852279L; 
    
    private String  groupId;
    private String  groupName;
    private String  auth;
    private String  flag;
    
    public Qqun_List() {}
    
    public Qqun_List(String groupId, String groupName, String auth, String flag) {
        super();
        this.groupId = groupId;
        this.groupName = groupName;
        this.auth = auth;
        this.flag = flag;
    }
    public String getGroupId() {
        return groupId;
    }
    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }
    public String getGroupName() {
        return groupName;
    }
    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }
    public String getAuth() {
        return auth;
    }
    public void setAuth(String auth) {
        this.auth = auth;
    }
    public String getFlag() {
        return flag;
    }
    public void setFlag(String flag) {
        this.flag = flag;
    }
    @Override
    public String toString() {
        return "Qqun_List [groupId=" + groupId + ", groupName=" + groupName + ", auth=" + auth + ", flag=" + flag + "]";
    }
}
dao接口Qqun_ListDao.java
package demo.cyj.dao;

import java.util.List;

import demo.cyj.entities.Qqun_List;

public interface Qqun_ListDao {

    public List<Qqun_List> findAll();
    
}
配置mapper文件Qqun_ListMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--此處的namespace需要和 接口的路徑綁定 -->
<mapper namespace="demo.cyj.dao.Qqun_ListDao">
    <select id="findAll" resultType="qqun_List">
        select * from qqun_list
    </select>
</mapper>
service接口Qqun_ListService.java
package demo.cyj.service;

import java.util.List;

import demo.cyj.entities.Qqun_List;

public interface Qqun_ListService {
    public List<Qqun_List> findAll();   
}
service接口實(shí)現(xiàn)類Qqun_ListServiceImpl.java
package demo.cyj.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import demo.cyj.dao.Qqun_ListDao;
import demo.cyj.entities.Qqun_List;
import demo.cyj.service.Qqun_ListService;

public class Qqun_ListServiceImpl implements Qqun_ListService{
    @Autowired
    private Qqun_ListDao qqun_ListDao;
    @Override
    public List<Qqun_List> findAll() {
        // TODO Auto-generated method stub
        return qqun_ListDao.findAll();
    }
}
編寫測(cè)試類Test1.java
package demo.cyj;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import demo.cyj.entities.Qqun_List;
import demo.cyj.service.Qqun_ListService;

public class Test1 {
    public static void main(String[] args) {
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        Qqun_ListService qqun_ListService =  ac.getBean(Qqun_ListService.class);//單例才能這樣傳類類型
        List<Qqun_List> list = qqun_ListService.findAll();
        System.out.println(list);
    }   
}
運(yùn)行結(jié)果

后面的明天寫了

  • 方式二

  • 方式三

  • 方式四

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • MyBatis—Spring 項(xiàng)目 目前大部分的 Java 互聯(lián)網(wǎng)項(xiàng)目,都是用 Spring MVC + Spri...
    我沒有三顆心臟閱讀 57,536評(píng)論 12 30
  • 副標(biāo)題:重男輕女的封建迷信落后鄉(xiāng)村里寄人籬下的普通女孩如何活出自我人生(并且她還有個(gè)小兒麻痹癥弟弟) 第一章 回憶...
    一個(gè)人要像一支隊(duì)伍_8790閱讀 209評(píng)論 0 2
  • 快樂是簡(jiǎn)單 簡(jiǎn)單很好 卻不適合 總想畫出點(diǎn)什么 帶著情緒的 遺世獨(dú)立的 空氣總是最先被關(guān)注 因?yàn)樗鼰o處不在 空氣總...
    小橙君閱讀 701評(píng)論 0 1
  • 如果上課只是為了玩手機(jī),那來教室干嘛?如果來學(xué)校只是為了睡覺,那文憑拿了有什么用?好好想想我能干嘛,我適合干嘛,...
    QMY閱讀 270評(píng)論 0 0
  • 45天餐飲人成長計(jì)劃 第6課 周年慶營銷怎么做 大鵬老師不僅教操作方式,還不斷的強(qiáng)調(diào)做周年慶營銷的好處...
    可以自己掌控的人生閱讀 255評(píng)論 0 1

友情鏈接更多精彩內(nèi)容