首先来一个util类,MybatisUtil:
package org.iteye.bbjava.mybatis.util;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MyBatisUtil {
private static SqlSessionFactory sqlSessionFactory = null;
public static SqlSessionFactory buildSessionFacotory(){
Reader reader = null;
if (sqlSessionFactory == null) {
String resource = "org/iteye/bbjava/mybatis/configuration.xml";
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
return sqlSessionFactory;
}
return sqlSessionFactory;
}
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
}
下面是mybatis的配置文件:
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/iteye/bbjava/mybatis/UserMapper.xml" />
</mappers>
</configuration>
UserMapper.java文件:
package org.iteye.bbjava.mybatis;
public class UserMapper {
private int id;
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
UserMapper.java文件对应的mybatis的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="org.iteye.bbjava.mybatis.UserMapper">
<select id="selectOne" parameterType="int"
resultType="org.iteye.bbjava.mybatis.UserMapper">
select * from user where id = #{id}
</select>
<insert id="insertUserMapper" parameterType="org.iteye.bbjava.mybatis.UserMapper">
insert into user(id,name,password) values(#{id},#{name},#{password})
</insert>
</mapper>
配置说明:
引用
<mapper namespace="org.iteye.bbjava.mybatis.UserMapper">
</mapper>
namespace是可以自已取,据我了解好像并没有太大的作用,只是要用全名来消除歧义。
一个简单的dao类,UserDao.java文件:
package org.iteye.bbjava.mybatis.dao;
import org.apache.ibatis.session.SqlSession;
import org.iteye.bbjava.mybatis.UserMapper;
import org.iteye.bbjava.mybatis.util.MyBatisUtil;
public class UserDao {
public UserMapper query(int id) {
SqlSession session = MyBatisUtil.buildSessionFacotory().openSession();
UserMapper user = null;
try {
user = (UserMapper) session.selectOne(
"org.iteye.bbjava.mybatis.UserMapper.selectOne", id);
} catch (Exception e) {
e.printStackTrace();// TODO: handle exception
} finally {
session.close();
}
return user;
}
public void insert(UserMapper um) {
SqlSession session = MyBatisUtil.buildSessionFacotory().openSession();
try {
session.insert("insertUserMapper", um);
} finally {
session.commit();
session.close();
}
}
}
测试类:
package org.iteye.bbjava.mybatis.test;
import org.iteye.bbjava.mybatis.UserMapper;
import org.iteye.bbjava.mybatis.dao.UserDao;
public class UserTest {
public static void main(String[] args) {
UserDao ud = new UserDao();
/*UserMapper user = ud.query(1);
System.out.println(user.getId());
System.out.println(user.getName());*/
UserMapper um = new UserMapper();
um.setId(3);
um.setName("zbc");
um.setPassword("123456");
ud.insert(um);
um = ud.query(1);
System.out.println(um.getName());
}
}
在MySQL数据中选择test,创建一张user表,代码如下:
use test;
create table user(
id int not null,
name varchar(255),
password varchar(16)
primary key(id);
);
- 大小: 47.2 KB
分享到:
相关推荐
这是一个C#的MyBatissample的样例
MyBatis Sample 最简单的示例
MyBatis样本 MyBatis示例代码
“MesnacCoding_MyBatis.NET”和“ibatis生成工具和使用文档以及样例”两个文件夹是网上两位大佬开发的开源生成工具源码和学习资料 ...“MyBatisSample”是另外一大佬开发的一个使用例子 都是非常好的资料,分享一下
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示
项目整体思路: 做出几个场景, 总体是冒险类型的, 没有战斗场景, 所以不能算是RPG 使用语言: C++ 使用游戏引擎: Cocos2d-x 3.16
资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom116.0.5818.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver116.0.5818.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)
基于用户行为的社交网络推荐算法研究与实现是一个结合了数据挖掘、机器学习和社交网络分析的项目。这个项目可以用于推荐用户可能感兴趣的内容或用户,以提高社交网络的互动性和用户体验。以下是一个基于用户行为的社交网络推荐算法的研究与实现建议: ### 1. 需求分析 - **用户角色**:确定系统的主要用户角色,如普通用户、内容创作者、管理员等。 - **核心功能**: - 用户行为分析:收集和分析用户在社交网络上的行为数据,如点赞、评论、分享等。 - 推荐算法:基于用户行为数据,设计推荐算法,推荐用户可能感兴趣的内容或用户。 - 系统集成:将推荐算法集成到社交网络平台中,实现推荐功能。 - 性能评估:评估推荐算法的准确性和效率。 ### 2. 技术选型 - **数据收集与处理**:使用爬虫或API接口收集用户行为数据,使用Python的Pandas、NumPy等库进行数据处理。 - **推荐算法**:研究并实现多种推荐算法,如协同过滤、基于内容的推荐、基于图的推荐等。 - **机器学习库**:使用Python的Scikit-learn、TensorFlow、PyTorch等库进
资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5790.90 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5790.90 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)
2024嵌入式面试资料嵌入式岗位笔试面试真题讲解文档提取方式是百度网盘分享地址
GSP质量管理制度执行情况检查考核记录
资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5790.102 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5790.102 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)
本试验以316L不锈钢为基体,先对试样进行热浸镀铝试验,之后再对热浸镀铝后的不锈钢分别进行300℃、500℃以及670℃三种温度下的热处理,保温4h和16h。热处理完成后再对试样分别进行硬度测试以及结合力试验。最后是用SEM、EDS以及XRD对试样进行元素分布、物相组成、组织形貌的分析。结果显示300℃温度下保温4h和16h,热处理对试样的性能提升有限,硬度以及结合力的性能相比原试样略微提升,镀层也没有出现裂纹或者孔隙,形貌较完好;而500℃温度下的保温,4h以及16h分别对试样性能提升十分明显,试样依旧没有出现裂纹与孔隙,而且在不锈钢基体和镀铝层之间形成了明显的分界层,形成了呈现球状的铁铝相;而对于670℃,因为不锈钢基体和镀铝层的晶界效应发生的程度的相对的不稳定,且生成了大量的质地很脆的呈针状形态的β(Al-Fe-Si)相以及大量大小不一的斑点形态的Al57Mn12,这使得镀层整体的内部组织严重不均匀,一系列问题从而导致了镀铝层出现了大量的裂纹和孔洞,从而使得670℃的热处理对镀铝层有害。最终500℃加热保温16h对性能提升效果最好,670℃保温加热16h对性能的提升最差。
私信博主免费看所有华为OD真题、考试报告、手撕代码、面试记录
私信博主免费看所有华为OD真题、考试报告、手撕代码、面试记录
华为PON网络OLT设备MA5680T配置说明
毕业设计基于微信小程序的优购电商小程序(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目介绍: 优购电商小程序项目, 前端为微信小程序,后端接口为ssm框架实现,项目包含源码、数据库毕业设计基于微信小程序的优购电商小程序(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目主要功能: "优购电商小程序是一款基于微信小程序平台的电子商务应用。该项目采用后端SSM(Spring、SpringMVC、MyBatis)框架实现接口,提供稳定的服务支持。主要功能包括商品浏览、购物车管理、订单处理及用户交互等,打造便捷的移动端购物体验。其特点在于深度融合微信生态,易于分享,具有良好的用户体验。技术栈涵盖小程序开发、Java后端编程和数据库管理,适合计算机科学与技术专业的毕设项目。"
行业报告
2024嵌入式大厂面经恒光科技提取方式是百度网盘分享地址
2024嵌入式大厂面经赛科世纪面试题提取方式是百度网盘分享地址