学习笔记:mybaits的环境搭建和增删改查操作
来源:互联网 发布:淘宝店铺等级快速升级 编辑:程序博客网 时间:2024/06/10 16:18
configuration.xml用来连接数据库(这里是sqlsever2008)和对应的映射文件
<?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 alias="User" type="nankang.po.Agent"/>
</typeAliases>
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=BK"/>
<property name="username" value="sa"/>
<property name="password" value="112358"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="nankang/dao/agentMapper.xml"/>
</mappers>
</configuration>
******************************************************************************************************************************
Agent .class为实体类用于打包数据传入数据库,或者接受数据库传出的数据
package nankang.po;
public class Agent {
private int id;
private String userName;
private String userAge;
private String userAddress;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
System.out.println(userName);
this.userName = userName;
}
public String getUserAge() {
return userAge;
}
public void setUserAge(String userAge) {
this.userAge = userAge;
}
public String getUserAddress() {
return userAddress;
}
public void setUserAddress(String userAddress) {
this.userAddress = userAddress;
}
}
******************************************************************************************************************************
映射文件agentMapper.xml
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="nankang.dao.AgentMapper">
<!-- 使用resultMap时可以数据库列名不需要和实体类属性一致 -->
<resultMap type="nankang.po.Agent" id="AgentResultMap" >
<id property="id" column="id"/>
<result property="userName" column="userName"/>
<result property="userAge" column="userAge"/>
<result property="userAdress" column="userAdress"/>
</resultMap>
<!-- id对应接口中的方法名,parameterType对应方法参数类型 -->
<select id="selectAgentById" parameterType="String" resultMap="AgentResultMap">
select * from [user] where id=#{id}
</select>
<!-- 使用resultType时数据库列名必须要和实体类属性一致
<select id="selectAgentById" parameterType="String" resultType="nankang.po.Agent">
select * from [user] where id=#{id}
</select>
-->
<!-- userGeneratedKeys设置为true可以获取表中自增长字段,和keyproperty=id 就是把自增长属性赋给id属性,
即之后的insert中id就不需要再赋值,会自增长-->
<insert id="addUser" parameterType="nankang.dao.AgentMapper" >
insert into [user](id,userName,userAge,userAddress) values (#{id},#{userName},#{userAge},#{userAddress})
</insert>
<update id="update" parameterType="nankang.dao.AgentMapper">
update [user] set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress} where id=#{id}
</update>
<delete id="delete" parameterType="int">
delete from [user] where id=#{id}
</delete>
<!--delete from [user] where id=2 会直接执行删除id为2的记录,从而不需要单独传参数-->
</mapper>
******************************************************************************************************************************
接口 AgentMapper.java
import nankang.po.Agent;
public interface AgentMapper {
public Agent selectAgentById(String string);
public void addUser(Agent agent);
public void update(Agent agent);
public void delete(int agent);
}
******************************************************************************************************************************
测试类getSqlSessionFactory.java
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 nankang.dao.AgentMapper;
import nankang.po.Agent;
public class getSqlSessionFactory {
public static SqlSessionFactory getSessionFactory(){
SqlSessionFactory SessionFactory=null;
String resource="nankang/configuration.xml";
try{
SessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource));
}catch(Exception e){
System.out.println("dsdsdsd");
e.printStackTrace();
}
return SessionFactory;
}
public static void main(String[] args) {
try{
//select数据,把数据库结果发送实体类(set方法赋值)再get方法获取
SqlSession sqlSession=getSqlSessionFactory.getSessionFactory().openSession();
AgentMapper dao=sqlSession.getMapper(AgentMapper.class);
Agent user=dao.selectAgentById("1");
System.out.println(user.getUserName()+user.getId()+" "+user.getUserAge());
//insert数据,把插入数据先set赋值给实体类,再把数据打包发送数据库
SqlSession sqlSession2=getSqlSessionFactory.getSessionFactory().openSession();
AgentMapper dao2=sqlSession2.getMapper(AgentMapper.class);
Agent agent=new Agent();
agent.setId(16);
agent.setUserName("钢铁侠");
agent.setUserAge("20");
agent.setUserAddress("工厂");
dao2.addUser(agent);
sqlSession2.commit();
//update数据
SqlSession sqlSession3=getSqlSessionFactory.getSessionFactory().openSession();
AgentMapper dao3=sqlSession3.getMapper(AgentMapper.class);
Agent agent2=new Agent();
agent2.setId(7);
agent2.setUserName("超人");
agent2.setUserAge("30");
agent2.setUserAddress("纽约");
dao3.update(agent2);
sqlSession3.commit();
//delete数据
SqlSession sqlSession4=getSqlSessionFactory.getSessionFactory().openSession();
AgentMapper dao4=sqlSession4.getMapper(AgentMapper.class);
dao4.delete(7);
sqlSession4.commit();
sqlSession3.close();
sqlSession4.close();
}catch(Exception ex){
System.out.println(ex.getMessage());
}
}
}
- 学习笔记:mybaits的环境搭建和增删改查操作
- 学习笔记: hibernate的环境搭建和增删改查
- Mybatis环境搭建和进行简单的CRUD增删改查操作
- mongoDB搭建和运行简单的增删改查操作
- MySql学习笔记-增删改查操作
- MyBaits批量增删改查
- 学习笔记:mySQL的增删改查
- hibernate的环境搭建及简单的增删改查
- hibernate环境的搭建和对数据库表的增删改查。(配图解详解)
- Hibernate(一)—环境搭建和基本的增删改查
- C# 学习笔记之增删改查操作
- ASP.NET学习笔记之增删改查操作
- 【学习笔记】nodejs操作mysql增删改查
- 【学习笔记】一个简单的在线通讯录:php实现简单的增删改查操作
- 黑马程序员------学习笔记(1)数组实现班内学生的增删改查操作
- MyBatis学习笔记(三)数据的增删改查 CRUD操作
- Hbase学习笔记:使用单步调试考察hbase的增删查改操作
- Linux学习笔记--Python操作mysql数据库(封装基本的增删改查)
- day03 java语言基础(运算符与选择结构)
- Unity入门之地形绘制
- javaweb项目高并发处理
- 自画像
- 【计算机视觉】从运动中恢复结构SfM模块安装
- 学习笔记:mybaits的环境搭建和增删改查操作
- 算法谜题123 荷兰国旗问题
- 算法谜题119 有色三格板平铺
- php之路
- 自定义Mysql连接池
- 02-线性结构2 一元多项式的乘法与加法运算 (20分)
- qwb与支教 二分
- 计蒜客 修建机场 解题报告
- 电商市场的全面铺设,农村淘宝开始升级