使用mybatis实现数据访问
来源:互联网 发布:广州恒大淘宝还合作吗 编辑:程序博客网 时间:2024/06/08 12:38
【jar包:】
slf4j-log4j12-xxx.jar
slf4j-api-xxx.jar
mybatis-spring-xxx.jar
mybatis-xxx.jar
log4j-core-xx.jar
log4j-api-xx.jar
log4j-xxx.jar
javassist-xxx-GA.jar
cglib-xx.jar
asm-xx.jar
【oracle数据库表:】
CREATE TABLE HEAD
(
hid NUMBER PRIMARY KEY,
hname NVARCHAR2(20) NOT NULL
);
INSERT INTO head VALUES('1','BOSS杂志1');
INSERT INTO head VALUES('2','BOSS杂志2');
INSERT INTO head VALUES('3','BOSS杂志3');
INSERT INTO head VALUES('4','BOSS杂志4');
INSERT INTO head VALUES('5','BOSS杂志5');
INSERT INTO head VALUES('6','BOSS杂志6');
【实体类:】
Head.java:
public class Head {
private int hid;
private String hname;
public int getHid() {
return hid;
}
public void setHid(int hid) {
this.hid = hid;
}
public String getHname() {
return hname;
}
public void setHname(String hname) {
this.hname = hname;
}
public Head(int hid, String hname) {
super();
this.hid = hid;
this.hname = hname;
}
public Head() {
super();
}
public Head(String hname) {
super();
this.hname = hname;
}
}
【实体类映射文件:】
HeadMapper.xml:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.entity.HeadMapper">
<select id="getAll" resultType="head">
select * from Head
</select>
<select id="getHeadById" resultType="head" parameterType="int" >
select * from Head where hid=#{#hid}
</select>
<insert id="insertHead" parameterType="head" >
<selectKey resultType="Integer" keyProperty="hid" order="AFTER">
select SEQ_HID.Currval AS hid from dual
</selectKey>
insert into Head(hid,hname) values(SEQ_HID.NEXTVAL,#{hname})
</insert>
<delete id="deleteById" parameterType="int">
delete from Head where hid=#{hid}
</delete>
<update id="updateHead" parameterType="head">
update Head set hname=#{hname} where hid=#{hid}
</update>
</mapper>
【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><!--子元素顺序不能错-->
<!--别名-->
<typeAliases>
<typeAlias type="com.test.entity.Head" alias="head" />
</typeAliases>
<!--数据源-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="username" value="system" />
<property name="password" value="orcl" />
</dataSource>
</environment>
</environments>
<!--引入配置文件-->
<mappers>
<mapper resource="com/test/entity/HeadMapper.xml" />
</mappers>
</configuration>
ps:configuration下子元素顺序:
(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)
【测试类】
Test.java:
public class Test {
public static void main(String[] args) {
// 加载mybatis-config.xml配置文件
String resource = "mybatis-config.xml";
InputStream reader = Test.class.getClassLoader().getResourceAsStream(resource);
// 创建sqlSession工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
// 创建sqlSession
SqlSession session = sessionFactory.openSession();
/*SqlSession session=MybatisUtil.getSession();*///使用工具类创建SqlSession
// 映射sql的标识字符串
//【查】
String statement = "com.test.entity.HeadMapper" + ".getAll";
// 执行查询返回一个唯一user对象的sql
List<Head> list = session.selectList(statement);
System.out.println(list.size());
//【插入】
Head head=new Head("呵呵呵");
String statement = "com.test.entity.HeadMapper" + ".insertHead";
session.insert(statement,head);
session.commit();
//【删除】
Integer id=35;
String statement = "com.test.entity.HeadMapper" + ".deleteById";
session.delete(statement,id);
session.commit();
session.close();
//【更新】
Head head=new Head(33,"这是修改");
String statement = "com.test.entity.HeadMapper" + ".updateHead";
session.update(statement,head);
session.commit();
session.close();
//【根据id查询单个Head】
Integer id=1;
String statement = "com.test.entity.HeadMapper" + ".getHeadById";
Head head=session.selectOne(statement,id);
session.commit();
session.close();
System.out.println(head.getHname());
}
}
slf4j-log4j12-xxx.jar
slf4j-api-xxx.jar
mybatis-spring-xxx.jar
mybatis-xxx.jar
log4j-core-xx.jar
log4j-api-xx.jar
log4j-xxx.jar
javassist-xxx-GA.jar
cglib-xx.jar
asm-xx.jar
【oracle数据库表:】
CREATE TABLE HEAD
(
hid NUMBER PRIMARY KEY,
hname NVARCHAR2(20) NOT NULL
);
INSERT INTO head VALUES('1','BOSS杂志1');
INSERT INTO head VALUES('2','BOSS杂志2');
INSERT INTO head VALUES('3','BOSS杂志3');
INSERT INTO head VALUES('4','BOSS杂志4');
INSERT INTO head VALUES('5','BOSS杂志5');
INSERT INTO head VALUES('6','BOSS杂志6');
【实体类:】
Head.java:
public class Head {
private int hid;
private String hname;
public int getHid() {
return hid;
}
public void setHid(int hid) {
this.hid = hid;
}
public String getHname() {
return hname;
}
public void setHname(String hname) {
this.hname = hname;
}
public Head(int hid, String hname) {
super();
this.hid = hid;
this.hname = hname;
}
public Head() {
super();
}
public Head(String hname) {
super();
this.hname = hname;
}
}
【实体类映射文件:】
HeadMapper.xml:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.entity.HeadMapper">
<select id="getAll" resultType="head">
select * from Head
</select>
<select id="getHeadById" resultType="head" parameterType="int" >
select * from Head where hid=#{#hid}
</select>
<insert id="insertHead" parameterType="head" >
<selectKey resultType="Integer" keyProperty="hid" order="AFTER">
select SEQ_HID.Currval AS hid from dual
</selectKey>
insert into Head(hid,hname) values(SEQ_HID.NEXTVAL,#{hname})
</insert>
<delete id="deleteById" parameterType="int">
delete from Head where hid=#{hid}
</delete>
<update id="updateHead" parameterType="head">
update Head set hname=#{hname} where hid=#{hid}
</update>
</mapper>
【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><!--子元素顺序不能错-->
<!--别名-->
<typeAliases>
<typeAlias type="com.test.entity.Head" alias="head" />
</typeAliases>
<!--数据源-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="username" value="system" />
<property name="password" value="orcl" />
</dataSource>
</environment>
</environments>
<!--引入配置文件-->
<mappers>
<mapper resource="com/test/entity/HeadMapper.xml" />
</mappers>
</configuration>
ps:configuration下子元素顺序:
(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)
【测试类】
Test.java:
public class Test {
public static void main(String[] args) {
// 加载mybatis-config.xml配置文件
String resource = "mybatis-config.xml";
InputStream reader = Test.class.getClassLoader().getResourceAsStream(resource);
// 创建sqlSession工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
// 创建sqlSession
SqlSession session = sessionFactory.openSession();
/*SqlSession session=MybatisUtil.getSession();*///使用工具类创建SqlSession
// 映射sql的标识字符串
//【查】
String statement = "com.test.entity.HeadMapper" + ".getAll";
// 执行查询返回一个唯一user对象的sql
List<Head> list = session.selectList(statement);
System.out.println(list.size());
//【插入】
Head head=new Head("呵呵呵");
String statement = "com.test.entity.HeadMapper" + ".insertHead";
session.insert(statement,head);
session.commit();
//【删除】
Integer id=35;
String statement = "com.test.entity.HeadMapper" + ".deleteById";
session.delete(statement,id);
session.commit();
session.close();
//【更新】
Head head=new Head(33,"这是修改");
String statement = "com.test.entity.HeadMapper" + ".updateHead";
session.update(statement,head);
session.commit();
session.close();
//【根据id查询单个Head】
Integer id=1;
String statement = "com.test.entity.HeadMapper" + ".getHeadById";
Head head=session.selectOne(statement,id);
session.commit();
session.close();
System.out.println(head.getHname());
}
}
阅读全文
0 0
- 使用mybatis实现数据访问
- mybatis访问数据
- 数据访问层MyBatis解析
- spring+mybatis 多线程访问数据
- Oracle使用Mybatis实现List批量插入数据
- Oracle使用Mybatis实现List批量插入数据
- Oracle使用Mybatis实现List批量插入数据
- Oracle使用Mybatis实现List批量插入数据
- Oracle使用Mybatis实现批量插入数据(Oracle)
- Oracle使用Mybatis实现List批量插入数据(转载)
- SOA 数据访问--使用 LINQ To SQL 和实体框架实现灵活的数据访问
- springboot【13】数据访问之整合Mybatis
- ORACLE使用dblink实现跨服务器访问数据
- SQL Server使用索引实现数据访问优化
- SQL Server使用索引实现数据访问优化
- SQL Server使用索引实现数据访问优化
- 并发编程--使用读写锁实现同步数据访问
- 使用AsyncTask实现网络数据的异步访问
- jni.h头文件详解(二)
- Android 开发Fragment类似微信主页切换
- 使用Python开发SQLite代理服务器
- Android 分析android.view.WindowLeaked错误
- 国际化NSLocalizedString(续)
- 使用mybatis实现数据访问
- Android视频硬解稳定性问题探讨和处理
- PAT (Advanced Level) Practise 1082 Read Number in Chinese (25)
- JNI线程
- JZOJ1322. 硬币游戏
- TransE 知识图谱资料整理
- BZOJ1026[windy数]
- Struts2 原理笔记
- JNI头文件详解(三)对象操作