最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Oracle,Mybatis嵌套查詢(xún),對(duì)映射,外鍵,主鍵,反射的理解,關(guān)聯(lián)元素【詩(shī)書(shū)畫(huà)唱】

2021-03-12 09:23 作者:詩(shī)書(shū)畫(huà)唱  | 我要投稿

概括:

association關(guān)聯(lián)元素

嵌套查詢(xún)


個(gè)人對(duì)映射,外鍵,主鍵,反射的理解:集合聲明都是在屬于“主”的關(guān)鍵的部分的xml文件,其實(shí)可以聯(lián)想到外鍵的設(shè)置,比如

type表的id要設(shè)置為主鍵,就是為了使用外鍵時(shí),確認(rèn)主從的關(guān)系,有主鍵的就是屬于

“主”的關(guān)系,就是“一”的關(guān)系,在這個(gè)“主從關(guān)系”中有主鍵的表的話(huà)就是主表。

其實(shí)“映射"和”反射“的話(huà)都是打印內(nèi)容的時(shí)候就是會(huì)存在一些的主從關(guān)系的。通過(guò)哦的思考,實(shí)踐等等,我發(fā)現(xiàn)其實(shí)把”一“對(duì)”多“等的關(guān)系,理解成”主從關(guān)系“就很好理解了。

建議命名id時(shí)有區(qū)分地命名,該統(tǒng)一命名的部分就統(tǒng)一命名,不然容易搞混。

建議命名id時(shí)有區(qū)分地命名,該統(tǒng)一命名的部分就統(tǒng)一命名,不然容易搞混。
個(gè)人對(duì)映射,外鍵,主鍵,反射的理解:集合聲明都是在屬于“主”的關(guān)鍵的部分的xml文件,其實(shí)可以聯(lián)想到外鍵的設(shè)置,比如?

type表的id要設(shè)置為主鍵,就是為了使用外鍵時(shí),確認(rèn)主從的關(guān)系,有主鍵的就是屬于?

“主”的關(guān)系,就是“一”的關(guān)系,在這個(gè)“主從關(guān)系”中有主鍵的表的話(huà)就是主表。?

其實(shí)“映射"和”反射“的話(huà)都是打印內(nèi)容的時(shí)候就是會(huì)存在一些的主從關(guān)系的。通過(guò)哦的思考,實(shí)踐等等,我發(fā)現(xiàn)其實(shí)把”一“對(duì)”多“等的關(guān)系,理解成”主從關(guān)系“就很好理解了。





個(gè)人的理解的筆記 START

一般是在作為“一”的對(duì)象中,聲明出

?作為“多”的對(duì)象這個(gè)類(lèi)。pt就是ptype的縮寫(xiě),如果不熟的話(huà)就是

?命名具體一些,如果很熟了就簡(jiǎn)短有意義的命名。



個(gè)人對(duì)映射,外鍵,主鍵,反射的理解:集合聲明都是在屬于“主”的關(guān)鍵的部分的xml文件,其實(shí)可以聯(lián)想到外鍵的設(shè)置,比如

type表的id要設(shè)置為主鍵,就是為了使用外鍵時(shí),確認(rèn)主從的關(guān)系,有主鍵的就是屬于

“主”的關(guān)系,就是“一”的關(guān)系,在這個(gè)“主從關(guān)系”中有主鍵的表的話(huà)就是主表。

其實(shí)“映射"和”反射“的話(huà)都是打印內(nèi)容的時(shí)候就是會(huì)存在一些的主從關(guān)系的。通過(guò)哦的思考,實(shí)踐等等,我發(fā)現(xiàn)其實(shí)把”一“對(duì)”多“等的關(guān)系,理解成”主從關(guān)系“就很好理解了。

個(gè)人對(duì)映射,外鍵,主鍵,反射的理解:集合聲明都是在屬于“主”的關(guān)鍵的部分的xml文件,其實(shí)可以聯(lián)想到外鍵的設(shè)置,比如

type表的id要設(shè)置為主鍵,就是為了使用外鍵時(shí),確認(rèn)主從的關(guān)系,有主鍵的就是屬于

“主”的關(guān)系,就是“一”的關(guān)系,在這個(gè)“主從關(guān)系”中有主鍵的表的話(huà)就是主表。

其實(shí)“映射"和”反射“的話(huà)都是打印內(nèi)容的時(shí)候就是會(huì)存在一些的主從關(guān)系的。通過(guò)哦的思考,實(shí)踐等等,我發(fā)現(xiàn)其實(shí)把”一“對(duì)”多“等的關(guān)系,理解成”主從關(guān)系“就很好理解了。


個(gè)人的理解的筆記 END





個(gè)人的注意事項(xiàng)的記錄 START


個(gè)人對(duì)“多對(duì)多”的理解:就是2個(gè)對(duì)象都具有本身對(duì)應(yīng)多個(gè)對(duì)方的情況,是2個(gè)相互作用的

一對(duì)多。



id和result都映射一個(gè)單獨(dú)列的值到簡(jiǎn)單數(shù)據(jù)類(lèi)型(字符串,整型,雙精度浮點(diǎn)數(shù),日期等)的單獨(dú)屬性或字段。這兩者之間的唯一不同是id表示操作對(duì)象實(shí)例時(shí)用到的標(biāo)識(shí)屬性。用來(lái)提高程序的運(yùn)行速度,特別是緩存和嵌入結(jié)果映射(也就是聯(lián)合映射)。包含如下的屬性:

association元素:

關(guān)聯(lián)元素處理“有一個(gè)”類(lèi)型的關(guān)系。例如:學(xué)生只可以選擇一個(gè)專(zhuān)業(yè)班級(jí)。需要通過(guò)配置文件告訴MyBatis如何加載關(guān)聯(lián)。上面的例子就是一個(gè)典型的嵌套查詢(xún)的配置。







個(gè)人的注意事項(xiàng)的記錄?END



關(guān)于日志包 START



關(guān)于日志包 END

講義 START

sqlserver,mysql,oracle:關(guān)系型數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)的關(guān)系類(lèi)型:一對(duì)一,一對(duì)多(多對(duì)一),多對(duì)多

身份證號(hào)和人:通過(guò)身份證號(hào)只能找到唯一的一個(gè)人,每個(gè)人只有唯一的一個(gè)身份證號(hào)

一對(duì)多:班級(jí)和學(xué)生,一個(gè)班級(jí)中可以有很多的學(xué)生,每個(gè)學(xué)生只能在唯一的一個(gè)班級(jí)中

多對(duì)多:科目和學(xué)生:一個(gè)科目可以同時(shí)被許多學(xué)生選中,一個(gè)學(xué)生同時(shí)選多個(gè)科目

商品和訂單

角色和賬號(hào)


Person表:id,cardid(身份證號(hào)),在表中通過(guò)一個(gè)字段就可以搞定一對(duì)一的關(guān)系

Student表:id,name,sex,cid

Cls表:id,name

在表中通過(guò)外鍵引用關(guān)系就可以搞定一對(duì)多的關(guān)系

Subject表:id,sname,desc

Stuinfo表 :id,name,sex

科目和學(xué)生關(guān)系表:id,subid,stuid,score

在表中通過(guò)第三個(gè)關(guān)系表就可以搞定多對(duì)多的關(guān)系


商品和商品類(lèi)型:每個(gè)商品對(duì)應(yīng)唯一的商品類(lèi)型,每個(gè)商品類(lèi)型中可以有很多的商品(多對(duì)一)


在mybatis框架中實(shí)現(xiàn)一對(duì)多的關(guān)系

講義 END

示例 START





?--drop table Product? ? ? ? ? ? ? ??

create table Product(

? ? id number primary key,

? ? pname varchar2(30) not null,

? ?price? number(10,2),

? ptype? number

);


--drop sequence seq_Product

create sequence seq_Product

start with 1? ? ? ?--起始值是1

increment by 1? ? ?--增長(zhǎng)的值? ?

maxvalue 999999999 --序列號(hào)的最大值

minvalue 1? ? ? ? ?--序列號(hào)的最小值

nocycle? ? ? ? ? ? --是否循環(huán)

cache 10;? ? ? ? ? --預(yù)存



insert into Product values(seq_Product.nextval,'黑筆',1.5,1);

insert into Product values(seq_Product.nextval,'紅書(shū)',2.0,2);

insert into Product values(seq_Product.nextval,'掛面',3.0,3);


--select * from Product





?--drop table Protype? ? ? ? ? ? ? ??

create table Protype(

? ? id number primary key,

? ? tname varchar2(30) not null

?

);


--drop sequence seq_Protype

create sequence seq_Protype

start with 1? ? ? ?--起始值是1

increment by 1? ? ?--增長(zhǎng)的值? ?

maxvalue 999999999 --序列號(hào)的最大值

minvalue 1? ? ? ? ?--序列號(hào)的最小值

nocycle? ? ? ? ? ? --是否循環(huán)

cache 10;? ? ? ? ? --預(yù)存



insert into Protype values(seq_Protype.nextval,'筆');

insert into Protype values(seq_Protype.nextval,'書(shū)');

insert into Protype values(seq_Protype.nextval,'面');


--select * from Protype

package com.SSHC.bean;

//一對(duì)多中的一:

public class Product {

? ? private Integer id;

? ? private String pname;

? ? private Double price;

? ? private Integer ptype;

? ? //pt就是關(guān)系屬性(數(shù)據(jù)庫(kù)沒(méi)pt這一列):

? ? private Protype pt;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getPname() {

return pname;

}

public void setPname(String pname) {

this.pname = pname;

}

public Double getPrice() {

return price;

}

public void setPrice(Double price) {

this.price = price;

}

public Integer getPtype() {

return ptype;

}

public void setPtype(Integer ptype) {

this.ptype = ptype;

}

public Protype getPt() {

return pt;

}

public void setPt(Protype pt) {

this.pt = pt;

}

}


package com.SSHC.bean;


import java.util.List;


public class Protype {

? ? private Integer id;

? ? private String tname;

? ??

? ? //反向關(guān)聯(lián)屬性

? ? private List<Product>plist;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getTname() {

return tname;

}

public void setTname(String tname) {

this.tname = tname;

}

public List<Product> getPlist() {

return plist;

}

public void setPlist(List<Product> plist) {

this.plist = plist;

}

}

package com.SSHC.bean;


public class Userinfo {

? ? private Integer id;

? ? private String act;

? ? private String pwd;

? ? private String birth;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getAct() {

return act;

}

public void setAct(String act) {

this.act = act;

}

public String getPwd() {

return pwd;

}

public void setPwd(String pwd) {

this.pwd = pwd;

}

public String getBirth() {

return birth;

}

public void setBirth(String birth) {

this.birth = birth;

}

}



<?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就是空間名,它必須在整個(gè)項(xiàng)目中都是唯一的 -->

<mapper namespace="com.SSHC.dao.ProductDao">

? ? <!-- id必須是唯一的 -->

? ? <resultMap type="Product" id="rmProduct">

? ? ? ? <id property="id" column="ID" />

? ? <result property="pname" column="PNAME"/>

? ? <result property="price" column="PRICE"/>

? ? <result property="ptype" column="PTYPE"/>

? ? <!-- 配置一對(duì)多的關(guān)系映射 -->

? ? <!--

? ? ? ?property就是指的Product對(duì)應(yīng)的唯一的商品類(lèi)型對(duì)象

? ? ? ?column就是指從Product表中查詢(xún)的商品類(lèi)型id取自Product表的哪個(gè)列

? ? ? ?select就是指需要執(zhí)行的商品類(lèi)型的查詢(xún)語(yǔ)句

? ? -->

? ? <association property="pt" column="PTYPE"

? ? ? ? select="com.SSHC.dao.ProtypeDao.selectById" >

? ? ? ? <id property="id" column="ID" />

? ? ? ? <result property="tname" column="TNAME" />

? ? </association>

? ? </resultMap>

? ? <!-- public List<Product>selectAll() -->

? ? <select id="selectAll" resultMap="rmProduct">

? ? ? ? select * from product

? ? </select>

? ? <!-- public List<Product>selectByTid(Integer tid) -->

? ? <select id="selectByTid" resultMap="rmProduct">

? ? ? ? select * from product where ptype = #{tid}

? ? </select>

</mapper>


<?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就是空間名,它必須在整個(gè)項(xiàng)目中都是唯一的 -->

<mapper namespace="com.SSHC.dao.ProtypeDao">

? ? <!-- id必須是唯一的 -->

? ? <resultMap type="Protype" id="rmProtype">

? ? ? ? <id property="id" column="ID" />

? ? <result property="tname" column="TNAME"/>

? ? <!--

? ? property指的就是Protype屬性中的關(guān)系屬性名?

? ? javaType指的就是plist的類(lèi)型是一個(gè)ArrayList

? ? column指的就是商品類(lèi)型id取自Protype表中的哪個(gè)列

? ? ofType指的就是plist中存放的對(duì)象類(lèi)型

? ? select指的就是需要執(zhí)行的查詢(xún)語(yǔ)句

? ? -->

? ? <collection property="plist" javaType="ArrayList"?

? ? column="ID"

? ? ? ? ofType="Product"?

? ? ? ? select="com.SSHC.dao.ProductDao.selectByTid">

? ? </collection>

? ? </resultMap>

? ? <!-- public Protype selectById(Integer id) -->

? ? <select id="selectById" resultMap="rmProtype">

? ? ? ? select * from protype where id = #{id}

? ? </select>

? ? <!-- public List<Protype>selectAll() -->

? ? <select id="selectAll" resultMap="rmProtype">

? ? ? ? select * from protype

? ? </select>

</mapper>

<?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">

<!-- namespa"src/com/SSHC/bean/UserinfoSqlMap.xml"ce就是空間名,它必須在整個(gè)項(xiàng)目中都是唯一的 -->

<mapper namespace="com.SSHC.dao.UserinfoDao">

? ? <!-- id必須是唯一的 -->

? ? <!-- 創(chuàng)建一個(gè)List<Userinfo>集合,變量名叫rmUserinfo -->

? ? <resultMap type="Userinfo" id="rmUserinfo">

? ? ? ? <!-- userinfo表的主鍵是id -->

? ? ? ? <!-- property指的是Userinfo類(lèi)的屬性名,

? ? ? ? ? ? ?column指的是userinfo表的列名 -->

? ? ? ? <!-- u.setId(rs.getInt("ID")) -->

? ? ? ? <id property="id" column="ID" />

? ? ? ? <!-- u.setAct(rs.getInt("ACT")) -->

? ? <result property="act" column="ACT"/>

? ? <result property="pwd" column="PWD"/>

? ? <result property="birth" column="BIRTH"/>

? ? </resultMap>

? ? <!-- 可以重復(fù)的使用 -->

? ? <sql id="whereCls">

? ? ? ? where id = #{id}

? ? </sql>

? ? <!-- public List<Userinfo>selectAll() -->

? ? <select id="selectAll" resultMap="rmUserinfo">

? ? ? ? select * from userinfo

? ? </select>

? ??

? ? <!-- public Userinfo selectById(Integer id) -->

? ? <!-- mybatis框架中,占位符?使用#{}來(lái)代替 -->

? ? <select id="selectById" resultMap="rmUserinfo">

? ? ? ? select * from userinfo <include refid="whereCls"></include>

? ? </select>

? ??

? ? <!-- public Integer add(Userinfo u) -->

? ? <!-- 因?yàn)閰?shù)的類(lèi)型是Userinfo,所以占位符中的字符串就必須是對(duì)應(yīng)的屬性名

? ? ? ? ?(屬性名區(qū)分大小寫(xiě)) -->

? ? <insert id="add" parameterType="Userinfo">

? ? ? ? insert into userinfo?

values(seq_userinfo.nextval,

#{act},#{pwd},to_date(#{birth},'yyyy-mm-dd'))

? ? </insert>

? ? <!-- mysql的新增:keyProperty表示自動(dòng)增長(zhǎng)的列的列名叫什么 -->

? ? <insert id="addMySQL" parameterType="Userinfo"

? ? ? ? useGeneratedKeys="true" keyProperty="id">

? ? ? ? insert into userinfo (act,pwd,birth)?

? ? ? ? values(#{act},#{pwd},#{birth})

? ? </insert>

? ??

? ? <!-- public Integer update(Userinfo u) -->

? ? <update id="update" parameterType="Userinfo">

? ? ? ? update userinfo set act = #{act},pwd = #{pwd},birth = to_date(#{birth},'yyyy-mm-dd')

? ? ? ? <include refid="whereCls"></include>

? ? </update>

? ? <!-- public Integer deleteById(Integer id) -->

? ? <delete id="deleteById">

? ? ? ? delete from userinfo <include refid="whereCls"></include>

? ? </delete>

</mapper>



/** CTRL+F:

?* 在使用Mybatis框架前要用的JDBC的代碼,使用Mybatis框架后

就不必使用


下面的內(nèi)容是通過(guò)for的嵌套的遍歷打印出

2個(gè)表的內(nèi)容

?* */



package ZSGC;




import java.io.IOException;

import java.io.Reader;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;


import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;


import com.SSHC.bean.Product;

import com.SSHC.bean.Protype;

import com.SSHC.bean.Userinfo;



public class Test {


public static void main(String[] args) {

// TODO Auto-generated method stub

/** 在使用Mybatis框架前要用的JDBC的代碼,使用Mybatis框架后

就不必使用 START*/


//? ? ? ? String drivername = "oracle.jdbc.driver.OracleDriver";

//? ? ? ? //oracle數(shù)據(jù)庫(kù)的默認(rèn)端口號(hào)1521

//? ? ? ? //連接的數(shù)據(jù)庫(kù)名字是orcl數(shù)據(jù)庫(kù)

//? ? ? ? String url = "jdbc:oracle:thin:@localhost:1521:orcl";

//? ? ? ? String username = "j190802";

//? ? ? ? String pwd = "orcl";

//? ? ? ??

//? ? ? ? Connection conn = null;

//? ? ? ? PreparedStatement pstm = null;

//? ? ? ? ResultSet rs = null;

//? ? ? ??

//? ? ? ? try {

//? ? ? ? Class.forName(drivername);

// conn = DriverManager.getConnection(url,username,pwd);

// pstm = conn.prepareStatement("select * from userinfo where id = ?");

// pstm.setInt(1, 8);

// rs = pstm.executeQuery();

// List<Userinfo>rmUserinfo = new ArrayList<Userinfo>();

// while(rs.next()) {

// Userinfo u = new Userinfo();

// //ID是userinfo表的主鍵

// u.setId(rs.getInt("ID"));

// u.setAct(rs.getString("ACT"));

// System.out.println(rs.getString("ACT"));

// u.setPwd(rs.getString("PWD"));

// u.setBirth(rs.getString("BIRTH"));

// rmUserinfo.add(u);

// }

//

// String sql = "insert into userinfo values(?,?,?,to_date(?,'yyyy-mm-dd'))";

// pstm = conn.prepareStatement(sql);

// Userinfo u = new Userinfo();

// u.setId(11);

// u.setAct("haha");

// u.setPwd("09876");

// u.setBirth("2000-7-3");

// pstm.setInt(1, u.getId());

// pstm.setString(2, u.getAct());

// pstm.setString(3, u.getPwd());

// pstm.setString(4, u.getBirth());

// int count = pstm.executeUpdate();

// System.out.println(count);

// } catch (Exception e) {

// // TODO Auto-generated catch block

// e.printStackTrace();

// } finally {

// try {

// if(rs != null) {

// rs.close();

// }

// if(pstm != null) {

// pstm.close();

// }

// if(conn != null) {

// conn.close();

// }

// } catch(Exception e) {

// e.printStackTrace();

// }

// }

/** 在使用Mybatis框架前要用的JDBC的代碼,使用Mybatis框架后

就不必使用 END*/

//為了獲取主配置文件的路徑而去聲明一個(gè)path的變量:

String path = "mybatis.xml";

//讀取mybatis.xml中的配置信息,就是讀取四大連接字符串的內(nèi)容:

Reader config;

try {

config = Resources.getResourceAsReader(path);

SqlSessionFactory factory =?

new SqlSessionFactoryBuilder().build(config);

//數(shù)據(jù)庫(kù)的操作對(duì)象session(這個(gè)是自己命名的):

SqlSession session = factory.openSession();

//調(diào)用selectAll

//執(zhí)行路徑就是映射文件的namespace屬性+'.'+id


while(true){


System.out.print("請(qǐng)選擇操作:1.查詢(xún)"

+ "Userinfo表的所有內(nèi)容 "

+ ",2.查詢(xún)ProductDao表的所有內(nèi)容,"

+ "\n 3.嵌套查詢(xún),"

+ "4.UserinfoDao的id查詢(xún),"

+ "\n"

+ "5.Oracle中的UserinfoDao表的運(yùn)用序列的新增,"


+ "\n 6.MySQL中的UserinfoDao表的運(yùn)用自增的新增 ,"

+ "\n 7.UserinfoDao表的修改,"

+ "\n8.根據(jù)ID刪除UserinfoDao表的內(nèi)容");

? ?Scanner input = new Scanner(System.in);

? ?int num = input.nextInt();

? ?System.out.println(num);

? ?String exePath = null;


if(num==1){


exePath = "com.SSHC.dao.UserinfoDao.selectAll";

List<Userinfo>list = session.selectList(exePath);

for(Userinfo u : list) {

System.out.println(u.getId()+" "+u.getAct()+" "+u.getBirth()

+" "+u.getPwd());

}



}


if(num==2){


exePath = "com.SSHC.dao.ProductDao.selectAll";

List<Product>lt = session.selectList(exePath);

for(Product p : lt) {

System.out.println(p.getPname());

Integer ptype = p.getPtype();

//還要進(jìn)行一次查詢(xún)才可以將商品類(lèi)型中文名稱(chēng)查詢(xún)出來(lái)

// Protype pt = session

// .selectOne("com.SSHC.dao.ProtypeDao.selectById",ptype);

// System.out.println(pt.getTname());

System.out.println(p.getPt().getTname());

}


}

if(num==3){

/**下面的內(nèi)容是通過(guò)for的嵌套的遍歷打印出

2個(gè)表的內(nèi)容 START */


exePath = "com.SSHC.dao.ProtypeDao.selectAll";

List<Protype>ls = session.selectList(exePath);

for(Protype pt : ls){

System.out.println(pt.getTname());

List<Product>plist = pt.getPlist();

for(Product p : plist) {

System.out.println(p.getPname());

}

}

/**下面的內(nèi)容是通過(guò)for的嵌套的遍歷打印出

2個(gè)表的內(nèi)容 END */

}


if(num==4){

exePath = "com.SSHC.dao.UserinfoDao.selectById";

Userinfo u = session.selectOne(exePath,1);

System.out.println(u.getAct());

}

if(num==5){

exePath = "com.SSHC.dao.UserinfoDao.add";

Userinfo u = new Userinfo();

u.setAct("詩(shī)書(shū)畫(huà)唱");

u.setPwd("999");

u.setBirth("2009-9-20");

Integer count = session.insert(exePath,u);

//新增修改和刪除一定記得提交事務(wù)

session.commit();

System.out.println(count);

}

if(num==6){

exePath = "com.SSHC.dao.UserinfoDao.addMySQL";

Userinfo u = new Userinfo();

u.setAct("詩(shī)書(shū)畫(huà)唱");

u.setPwd("666");

u.setBirth("1999-7-7");

Integer count = session.insert(exePath,u);

//新增修改和刪除一定記得提交事務(wù)

session.commit();

System.out.println(count);

}

if(num==7){

Userinfo u = new Userinfo();

u.setId(11);

u.setAct("測(cè)試賬號(hào)");

u.setPwd("555555");

u.setBirth("1998-11-29");

exePath = "com.SSHC.dao.UserinfoDao.update";

Integer count = session.update(exePath,u);

//新增修改和刪除一定記得提交事務(wù)

session.commit();

System.out.println(count);

}

if(num==8){

exePath = "com.SSHC.dao.UserinfoDao.deleteById";

Integer count = session.delete(exePath,8);

//新增修改和刪除一定記得提交事務(wù)

session.commit();

System.out.println(count);

}


}} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


}

oracle_drivername=oracle.jdbc.driver.OracleDriver

oracle_url=jdbc:oracle:thin:@localhost:1521:orcl

oracle_username=X

oracle_password=sshcPwd


mysql_drivername=com.mysql.jdbc.Driver

mysql_url=jdbc:mysql://localhost:3306/j190802?useUnicode=true&amp;characterEncoding=GBK2312

mysql_username=root

mysql_password=1


sqlserver_drivername=com.microsoft.sqlserver.jdbc.SQLServerDriver

sqlserver_url=jdbc:sqlserver://localhost:1433;databaseName=cervs

sqlserver_username=sa

sqlserver_password=



log4j.rootLogger=DEBUG,Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d[%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO

log4j.logger.org.apache=INFO

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

<?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>??

? ? <!-- 讀取指定的properties文件中的內(nèi)容 -->

? ? <properties resource="db.properties"></properties>?

? ? <!-- 給類(lèi)取一個(gè)簡(jiǎn)短的別名 -->

? ? <typeAliases>

? ? ? ? <package name="com.SSHC.bean"/>

? ? </typeAliases>

? ? <environments default="oracleConf">? ? ? ? ? ? ? ? ?

? ? ? ? <!-- oracle配置 -->?

? ? ? ? <environment id="oracleConf">??

? ? ? ? ? ? <transactionManager type="JDBC">?

? ? ? ? ? ? ? ? <property name="closeConnection" value="false"/>

? ? ? ? ? ? </transactionManager>?

? ? ? ? ? ? <!-- 配置數(shù)據(jù)源 -->? ? ? ?

? ? ? ? ? ? <dataSource type="POOLED">

? ? ? ? ? ? ? ? <property name="driver" value="${oracle_drivername}"/>? ?

? ? ? ? ? ? ? ? <property name="url" value="${oracle_url}"/>?

? ? ? ? ? ? ? ? <property name="username" value="${oracle_username}"/>?

? ? ? ? ? ? ? ? <property name="password" value="${oracle_password}"/>??

? ? ? ? ? ? </dataSource>? ??

? ? ? ? </environment>

? ? ? ? <!-- mysql配置 -->

? ? ? ? <environment id="mysqlConf">

? ? ? ? ? ? <!-- 事務(wù)配置 -->

? ? ? ? ? ? <transactionManager type="JDBC">?

? ? ? ? ? ? ? ? <property name="closeConnection" value="false"/>

? ? ? ? ? ? </transactionManager>?

? ? ? ? ? ? <!-- 配置數(shù)據(jù)源 -->? ? ? ?

? ? ? ? ? ? <dataSource type="POOLED">

? ? ? ? ? ? ? ? <property name="driver" value="${mysql_drivername}"/>? ?

? ? ? ? ? ? ? ? <property name="url" value="${mysql_url}"/>?

? ? ? ? ? ? ? ? <property name="username" value="${mysql_username}"/>?

? ? ? ? ? ? ? ? <property name="password" value="${mysql_password}"/>??

? ? ? ? ? ? </dataSource>

? ? ? ? </environment>

? ? </environments>?

? ? <!-- 實(shí)體映射文件集合 -->?

? ? <mappers>

? ? ? ? <!-- 告訴mybatis框架,映射文件放在什么地方 -->

? ? ? ? <mapper resource="com/SSHC/bean/UserinfoSqlMap.xml"/>

? ? ? ? <mapper resource="com/SSHC/bean/ProductSqlMap.xml"/>

? ? ? ? <mapper resource="com/SSHC/bean/ProtypeSqlMap.xml"/>

? ? </mappers>

</configuration>




示例 END


Oracle,Mybatis嵌套查詢(xún),對(duì)映射,外鍵,主鍵,反射的理解,關(guān)聯(lián)元素【詩(shī)書(shū)畫(huà)唱】的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
紫阳县| 麻栗坡县| 南阳市| 自贡市| 泰兴市| 临沂市| 陆河县| 瓮安县| 鄂托克旗| 桦川县| 乌审旗| 平阳县| 虎林市| 晋州市| 温州市| 嘉义市| 八宿县| 鄄城县| 儋州市| 陈巴尔虎旗| 常宁市| 张家界市| 长葛市| 高阳县| 大方县| 东阿县| 博野县| 贡觉县| 砚山县| 来安县| 杂多县| 瑞安市| 岳阳市| 山阴县| 加查县| 德清县| 龙岩市| 洪雅县| 双牌县| 拜城县| 聂拉木县|