(1).Mybatis的创建。配置。映射。dao映射
https://www.cnblogs.com/zxdup/
一。Mybatis的创建
1.创建一个新的项目,建议选 Empty Project(空项目), 之后回跳转到Project Structure(项目构建)。
对项目结构进行设置

在Project中设置SDK
- Modules(模块):表示项目中的模块,可此时添加模块(也可之后添加),先创建一个Java模块,在项目下右键,new folder (lib:存放jar包)。
- Facets:发布版本号
- 之后即创建完成。
二.Mybatis的配置
1.拷贝jar包:

拷贝log4j,mybatis,mysql三个jar包至项目lib下,拷贝之后并不可以直接用,全部选中右键点击Add as Library(添加为库),可用之后前面会有一个箭头。
2.配置config.xml
将主配置文件与log4j.properties拷贝至src下,主配置文件配置如下(连接MySQL):
<?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">
<!--!DOCTYPE configuration SYSTEM "mybatis-3-config.dtd" -->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/> <!--!事务管理器-->
<dataSource type="POOLED"> <!--!连接池-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/> <!--!可在mysql连接库中找到-->
<property name="url" value="jdbc:mysql://127.0.0.1:3306/news?characterEncoding=utf8&useUnicode=true&serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
</configuration>
之后配置成功,进入下一步。
三。实体类映射
- 在src.com下创建bean包,之后在bean下创建实体类,与数据库中的实体类一一对应,类中属性与数据库中属性一一对应,选中属性右键generater中getter and setter。
- 在src.com下创建dao包,在dao下创建UsersMapper接口,写出数据库操作方法名,并不实现。eg:
package com.dao; import com.bean.Users;
import java.util.List;
public interface UsersMapper {
Users findById(int id);
List<Users> findAll(); // Alt+Enter
void add(Users user);
void delete(int id);
void update(Users user);
} - 配置mybatis与数据库之间的映射,创建映射文件xml,需要与接口名字相一致,并实现对数据库操作的实现。(xml文件的前三行是必须有的),传过来的参数用#{参},对象类型的则可以直接可用其属性。eg:
<?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">
<mapper namespace="com.dao.UsersMapper"><!--!命名空间,尽量与路径保持一致-->
<select id="findById" parameterType="int"
resultType="com.bean.Users">
select
id,nickname,realname,pwd,phone,email,address,create_time createTime,type,realid<!--!其中createtime是日期类型,使用数据库中的原名create_time来转换-->
from n_users where id = #{id}
</select>
<select id="findAll" resultType="com.bean.Users">
select
id,nickname,realname,pwd,phone,email,address,create_time createTime,type,realid
from n_users order by id
</select>
<insert id="add" parameterType="com.bean.Users"> <!--!insert中id列不可以指定,id是auto_increment(自动增长)-->
insert into n_users
(nickname,realname,pwd,phone,email,address,create_time,type,realid)
values
(#{nickname},#{realname},#{pwd},#{phone},#{email},#{address},#{createTime},#{type},#{realid})
</insert> <!--!其中nickname在类中是私有的,调用方式为:nickname-》Nickname->getNickname()-->
<update id="update" parameterType="com.bean.Users">
update n_users set
nickname = #{nickname},
realname = #{realname},
pwd = #{pwd},
phone = #{phone},
email = #{email},
address = #{address},
create_time = #{createTime},
type = #{type},
realid = #{realid}
where id = #{id}
</update>
<delete id="delete" parameterType="int">
delete from n_users where id = #{id}
</delete>
</mapper> - 在主配置文件config中配置映射文件UsersMapper.xml,使UsersMapper.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">
<!--!DOCTYPE configuration SYSTEM "mybatis-3-config.dtd" -->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/> <!--!事务管理器-->
<dataSource type="POOLED"> <!--!连接池-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/> <!--!可在mysql连接库中找到-->
<property name="url" value="jdbc:mysql://127.0.0.1:3306/news?characterEncoding=utf8&useUnicode=true&serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/dao/UsersMapper.xml"/>
</mappers>
</configuration>
https://www.cnblogs.com/zxdup/
转载请注明作者.
(1).Mybatis的创建。配置。映射。dao映射的更多相关文章
- mybatis自己主动生成mapper,dao,映射文件
一.先创建数据脚本,这里用的mysql数据脚本 drop table VOTE_ITEM; drop table VOTE_OPTION; drop table VOTE_SUBJECT; drop ...
- mybatis笔记 - 初始配置及dao的封装
1.用户实体类 package com.javasm.entity; /** * *TODO 用户表实体类 * @author CaoLei 2018年6月26日上午10:50:12 * Manage ...
- Java框架之MyBatis 06-全局配置-mapper映射-分步查询
MyBatis MyBatis是Apache的一个开源项目iBatis, iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架. iBatis 提供的持 ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap good
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- MyBatis 使用简单的 XML或注解用于配置和原始映射
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .My ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap[转]
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- Mybatis基于XML配置SQL映射器(一)
Durid和Mybatis开发环境搭建 SpringBoot搭建基于Spring+SpringMvc+Mybatis的REST服务(http://www.cnblogs.com/nbfujx/p/76 ...
- mybatis整合spring 之 基于接口映射的多对一关系
转载自:http://my.oschina.net/huangcongmin12/blog/83731 mybatis整合spring 之 基于接口映射的多对一关系. 项目用到俩个表,即studen ...
随机推荐
- 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、212345等. 要求:”4”不能在第三位,”3”与”5”不能相连。
private static String[] mustExistNumber = new String[] { "1", "2", "2" ...
- DVWA渗透笔记
Command Injection Low <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input $target = $_REQUEST[ ...
- 掉了10根头发都无法解决的数学题,python帮你完美解答
本来这个周末过得开开心心,结果为了解一道数学题薅掉了一把头发...整整10根! 而且还是一道小学数学题!!! 到底是什么题呢?大家看看吧 这不就是一道逻辑题嘛! 先假如丁错,则甲乙丙对,此时最小的ab ...
- Problem C Careful Ascent
数学问题. 在不经过shield时,竖直速度是1.所以时间就是y/1=y,,,,在经过shield时,时间为shield的数值长度*影响因素,然后总时间把他们加起来,最后再用水平方向的长度除以总时间, ...
- Python——详解__slots__,property和私有方法
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第11篇文章,我们来聊聊面向对象的一些进阶使用. __slots__ 如果你看过github当中一些大牛的代码,你会 ...
- 图2-4TCP状态转换图
这张图中描述了TCP中11个状态的转换. 光看这个图我一开始是蒙蔽的,也没有写服务器和客户端的操作流程.不过回头一想,是状态转换,也就是从一个状态到另外一个状态发生了什么,什么条件触发的.这样是不是好 ...
- tensorflow--filter、strides
最近还在看<TensorFlow 实战Google深度学习框架第二版>这本书,根据第六章里面对于卷基层和池化层的介绍可以发现,在执行 tf.nn.conv2d 和 tf.nn.max_po ...
- 好用的mitmproxy代理抓包
安装证书 浏览器输入 `mitm.it` 下载证书有时候打不开,可能是起的服务卡死了,回车下命令行,再再网页刷新下载证书就可以了. mitmweb Chrome浏览器代理设置 打开的话,记得保存点一下 ...
- 《并发编程的艺术》阅读笔记之Lock与AQS
Lock接口 在jdk1.5之后,并发包下新增了一个lock接口,lock接口定义了锁的获取,锁的释放,等方法,需要用户手动设置.与关键字不同的是,lock具有可操作性,比如,可以中断线程,设置超时时 ...
- 【FishFX】花式撩骚,打造TypeScript易用框架。
· 栗子入手 假设有以下foo数组,数组中每个对象都拥有id,name两个属性,现在需要查找id > 0的对象数量. const foo: Array<{ id: number, name ...