- 浏览: 165403 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (116)
- 随笔 (2)
- spring (24)
- struts (1)
- hibernate (6)
- log4j (0)
- mysql (14)
- oracle (0)
- ext (0)
- jQuery (0)
- HTML+CSS (2)
- Javascript (1)
- 其它杂碎 (0)
- IT (3)
- J2EE综合 (15)
- SQLServer (1)
- 好文章URL 待阅读 (3)
- 编辑器 (2)
- 版本控制 (5)
- Tomcat (4)
- DoJo (0)
- Ubuntu (11)
- Hadoop (3)
- cxf (3)
- maven (6)
- CI (5)
- H2 (1)
- JVM (1)
- FirefoxOS (1)
- Jboss (1)
- 操作系统 (1)
- C3P0 (2)
- Quartz (1)
- maps (10)
- 设计模式 (5)
最新评论
-
yogurt2012:
请问··我如果要调试H2数据库来分析其JOIN算法应该怎么做呢 ...
H2笔记 -
carlosfu:
很好很全,很有收获
Spring3笔记之 JDBC -
ponlya:
coldrush 写道看了你的配置 ,刚绝 file:后加绝对 ...
添加使用dtd文件 -
ponlya:
byp19980911 写道这不是很好的解决办法,最好是使用连 ...
java.net.SocketException:Software caused connection abort: socket write error -
ponlya:
ayanami001 写道为什么spring没有封装分页吗,那 ...
Spring3笔记之 JDBC(分页)
使用Spring 的JDBC
先创建表:
DROP TABLE IF EXISTS `springjdbc`.`t_people`; CREATE TABLE `springjdbc`.`t_people` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(45) NOT NULL, `birthDay` datetime DEFAULT NULL, `sex` tinyint(1) DEFAULT NULL, `weight` double DEFAULT NULL, `height` float DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
再创建实体对象:
com.spring305.jdbc.po.People.java
public class People implements Serializable { private static final long serialVersionUID = -8692237020492316757L; private int id; private String name; private Date birthDay; private Boolean sex; private Double weight; private float height; public People() { super(); } public People(int id, String name, Date birthDay, Boolean sex, Double weight, float height) { super(); this.id = id; this.name = name; this.birthDay = birthDay; this.sex = sex; this.weight = weight; this.height = height; } ... }
DAO接口:
com.spring305.jdbc.dao.PeopleDao.java
import java.io.Serializable; import java.sql.SQLException; import java.util.Date; import java.util.List; import java.util.Map; import com.spring305.jdbc.page.CurrentPage; import com.spring305.jdbc.po.People; /** * DAO接口 * @author ZhengChao * */ public interface PeopleDao { /** * 创建数据库表结构 * @param sql * @return */ void doCreateTable(String sql); /** * 保存对象 * @param p */ void doSaveObj(People p); /** * 通过主键删除对象 * @param id */ void doDeleteObj(int id); /** * 更新对象 * @param p */ void doUpdateObj(People p); /** * 通过主键得到对象 * @param id * @return */ Serializable getObjByID(int id); /** * 通过主键得到日期类属性 * @param id * @return */ Date getBirthDay(int id); /** * 通过主键得到名字属性 * @param id * @return */ String getNameAttri(int id); /** * 通过主键拿到对象集合 * @param id * @return */ List<People> getObjsByID(int id); /** * 取总和 * @return */ int getCountEntites(); /** * 得到对象的集合 * @return */ List<Map<String, Object>> getList(); /** * 分页查找 * @param pageNo * @param pageSize * @param id * @return * @throws SQLException */ CurrentPage<People> getPeoplePage(final int pageNo, final int pageSize,int id) throws SQLException; /** * 使用NamedParameterJdbcTemplate命名参数 * @param id * @return */ int getNamedParameterJdbcCounts(int id); /** * 得到自动生成的主键 * @return */ int getAutoIncrementKey(); /** * 批处理 * @param actors * @return */ int[] batchUpdate(final List<People> actors); }
实现类:
com.spring305.jdbc.dao.impl.PeopleDaoImpl.java
import java.io.Serializable; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import javax.sql.DataSource; import org.springframework.jdbc.core.BatchPreparedStatementSetter; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.PreparedStatementCreator; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.jdbc.core.simple.ParameterizedRowMapper; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.jdbc.support.GeneratedKeyHolder; import org.springframework.jdbc.support.KeyHolder; import com.spring305.jdbc.dao.PeopleDao; import com.spring305.jdbc.page.CurrentPage; import com.spring305.jdbc.page.PagingHelper; import com.spring305.jdbc.po.People; public class PeopleDaoImpl implements PeopleDao { //private DataSource dataSource; private JdbcTemplate jdbcTemplate; //NamedParameterJdbcTemplate为JDBC操作增加了命名参数的特性支持,而不是传统的使用('?')作为参数的占位符。 private NamedParameterJdbcTemplate namedParameterJdbcTemplate; private SimpleJdbcTemplate simpleJdbcTemplate; public void setDataSource(DataSource dataSource) { //this.dataSource = dataSource; this.jdbcTemplate = new JdbcTemplate(dataSource); this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); this.simpleJdbcTemplate = new SimpleJdbcTemplate(dataSource); /** *DriverManagerDataSource dataSource2 = new DriverManagerDataSource(); dataSource2.setDriverClassName("org.hsqldb.jdbcDriver"); dataSource2.setUrl("jdbc:hsqldb:hsql://localhost:"); dataSource2.setUsername("sa"); dataSource2.setPassword(""); */ } /** *官方文档上还有例子: *this.jdbcTemplate.update("insert into t_actor (first_name, last_name) values (?, ?)","Leonor", "Watling"); *this.jdbcTemplate.update("update t_actor set = ? where id = ?","Banjo", 5276L); *this.jdbcTemplate.update("delete from actor where id = ?",Long.valueOf(actorId)); *存储过程: *this.jdbcTemplate.update("call SUPPORT.REFRESH_ACTORS_SUMMARY(?)",Long.valueOf(unionId)); */ @Override public void doCreateTable(String sql) { this.jdbcTemplate.execute(sql); } @Override public void doDeleteObj(int id) { this.jdbcTemplate.update("delete from T_people where id = ?",id);//Long.valueOf(id) } @Override public void doSaveObj(People p) { //插入方式其一 ,原始的,拼写sql语句后直接发送执行 /** * this.jdbcTemplate.update("insert into T_people(name,birthDay,sex,weight,height) values(" + "'"+p.getName()+"','"+new java.sql.Timestamp(p.getBirthDay().getTime())+"',"+p.getSex()+","+p.getWeight()+","+p.getHeight()+")"); */ //插入方式二 jdbcTemplate.update("insert into T_people(name,birthDay,sex,weight,height) values(?,?,?,?,?)", new Object[]{p.getName(),p.getBirthDay(),p.getSex(),p.getWeight(),p.getHeight()}, new int[]{java.sql.Types.VARCHAR,java.sql.Types.TIMESTAMP,java.sql.Types.BOOLEAN, //java.sql.Types.DATE,则插入的只有日期,没有时间,2011-04-24 00:00:00;TIMESTAMP:2011-04-24 19:09:24 java.sql.Types.DOUBLE,java.sql.Types.FLOAT}); } ////id name birthDay sex weight height @Override public void doUpdateObj(People p) { jdbcTemplate.update("update T_people set name = ? , birthDay = ? , sex = ? , weight = ? , height = ? where id = ? ", new Object[]{p.getName(),p.getBirthDay(),p.getSex(), p.getWeight(),p.getHeight(),p.getId()}, new int[]{java.sql.Types.VARCHAR,java.sql.Types.DATE,java.sql.Types.BOOLEAN, java.sql.Types.DOUBLE,java.sql.Types.FLOAT,java.sql.Types.INTEGER}); } @Override public int getCountEntites() { //int rowCount = this.jdbcTemplate.queryForInt("select count(*) from T_People"); int rowCount = this.jdbcTemplate.queryForInt("select count(*) from T_people where id >= ?",new Object[]{1}); //select count(*) from T_people where id >= ? //= this.jdbcTemplate.queryForInt("select count(*) from T_People where name = ?", "XXX"); return rowCount; } @Override public Serializable getObjByID(int id) { //Query for a String //this.jdbcTemplate.queryForObject("select name from T_People where id = ?",new Object[]{1212}, String.class); People p = this.jdbcTemplate.queryForObject("select * from T_people where id = ?", new Object[]{id}, new RowMapper<People>() { @Override public People mapRow(ResultSet rs, int rowNum) throws SQLException { People p = new People(); p.setId(rs.getInt("id")); p.setName(rs.getString("name")); p.setBirthDay(rs.getDate("birthDay")); p.setWeight(rs.getDouble("weight")); p.setHeight(rs.getFloat("height")); p.setSex(rs.getBoolean("sex")); return p; } } ); return p; } @Override public List<People> getObjsByID(int id) { List<People> plist = this.jdbcTemplate.query("select * from T_people where id >= ?", new Object[]{id}, new RowMapper<People>() { @Override public People mapRow(ResultSet rs, int rowNum) throws SQLException { People p = new People(); p.setId(rs.getInt("id")); p.setName(rs.getString("name")); p.setBirthDay(rs.getDate("birthDay")); p.setWeight(rs.getDouble("weight")); p.setHeight(rs.getFloat("height")); p.setSex(rs.getBoolean("sex")); return p; } } ); return plist; } //上面这个List也可以用下面来实现 public List<People> getObjsByID2(int id) { return this.jdbcTemplate.query("select * from T_people where id >= ?", new Object[]{id},new PeopleMapper()); } private static final class PeopleMapper implements RowMapper<People> { public People mapRow(ResultSet rs, int rowNum) throws SQLException { People p = new People(); p.setId(rs.getInt("id")); p.setName(rs.getString("name")); p.setBirthDay(rs.getDate("birthDay")); p.setWeight(rs.getDouble("weight")); p.setHeight(rs.getFloat("height")); p.setSex(rs.getBoolean("sex")); return p; } } @Override public String getNameAttri(int id) { String name = this.jdbcTemplate.queryForObject( "select name from T_people where id = ?", new Object[]{id}, String.class); return name; } @Override public Date getBirthDay(int id) { return this.jdbcTemplate.queryForObject( "select birthDay from T_people where id = ?", new Object[]{id}, Date.class); } @Override public List<Map<String, Object>> getList() { return this.jdbcTemplate.queryForList("select * from T_people "); } @Override public int[] batchUpdate(final List<People> peoples) { int[] updateCounts = jdbcTemplate.batchUpdate("update T_people set name = ? where id = ?", new BatchPreparedStatementSetter() { public void setValues(PreparedStatement ps, int i) throws SQLException { ps.setString(1, peoples.get(i).getName()); ps.setInt(2, peoples.get(i).getId()); } public int getBatchSize() { return peoples.size(); } }); return updateCounts; } /** * 返回分页后结果 * @param pageNo * @param pageSize * @param id * @return * @throws SQLException */ public CurrentPage<People> getPeoplePage(final int pageNo, final int pageSize,int id) throws SQLException { PagingHelper<People> ph = new PagingHelper<People>(); CurrentPage<People> p = ph.fetchPage(jdbcTemplate, "select count(*) from T_people where id >= ?",//sqlCountRows "select * from T_people where id >= ?",//sqlFetchRows new Object[]{id},//args pageNo,//pageSize pageSize, new ParameterizedRowMapper<People>() { public People mapRow(ResultSet rs, int i) throws SQLException { return new People( rs.getInt(1),//name,birthDay,sex,weight,height rs.getString(2), rs.getTimestamp(3), rs.getBoolean(4), rs.getDouble(5), rs.getFloat(6) ); } } ); return p; } @Override public int getNamedParameterJdbcCounts(int id) { String sql = "select count(*) from T_people where id >= :id"; SqlParameterSource namedParameters = new MapSqlParameterSource("id", id); //传一个对象 //SqlParameterSource namedParametersx = new BeanPropertySqlParameterSource(new People()); return namedParameterJdbcTemplate.queryForInt(sql, namedParameters); } @Override public int getAutoIncrementKey() { final String INSERT_SQL = "insert into T_people (name) values(?)"; final String name = "test getAutoIncrementKey"; KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update( new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection con) throws SQLException { PreparedStatement ps = con.prepareStatement(INSERT_SQL, new String[] {name}); ps.setString(1, name); return ps; } }, keyHolder); return keyHolder.getKey().intValue(); } }
XML(DBCP,c3po...):
<!-- Spring自带 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> --> <!-- c3p0 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driverClassName}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- DBCP <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="initialSize" value="1"></property> <property name="maxActive" value="100"></property> <property name="maxIdle" value="2"></property> <property name="minIdle" value="1"></property> </bean> --> <context:property-placeholder location="spring3JDBC.properties"/> <bean id="peopleDao" class="com.spring305.jdbc.dao.impl.PeopleDaoImpl"> <property name="dataSource" ref="dataSource"></property> </bean>
测试方法:com.spring305.jdbc.TestJDBC.java
private static PeopleDao peopleDao = null; @BeforeClass public static void env(){ ApplicationContext context = new ClassPathXmlApplicationContext("Spring3JDBC.xml"); peopleDao = (PeopleDao) context.getBean("peopleDao"); } /** * 测试环境 */ //@Test public void testEnv(){//测试环境 System.out.println(peopleDao); } /** * DML语句 */ //@Test//测试通过,创建表T_person public void CreateTable(){ //java.lang.NoClassDefFoundError: org/apache/commons/collections/CursorableLinkedList报了个错 //commons-collections.jar 加上此jar String createSql = "CREATE TABLE T_people(id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT," + "name VARCHAR(45) NOT NULL," + "birthDay DATETIME NOT NULL," + "sex BOOLEAN NOT NULL," + "weight DOUBLE NOT NULL," + "height FLOAT NOT NULL," + "PRIMARY KEY (id)" + ")ENGINE = InnoDB; "; peopleDao.doCreateTable(createSql); } /** * 增删改查 */ //id name birthDay sex weight height //@Test//测试通过,添加二条数据 public void insert(){ People people = new People(); people.setName("ZCtime"); people.setBirthDay(new Date()); people.setSex(true); people.setHeight(178F); people.setWeight(130D); peopleDao.doSaveObj(people); } //@Test//测试通过 public void update(){ People people = new People(); people.setId(1); people.setName("TestUpdate"); people.setBirthDay(new Date()); people.setSex(true); people.setHeight(178F); people.setWeight(130D); peopleDao.doUpdateObj(people); } //@Test//测试通过,查询单个对象 public void selectOne(){ People p = (People)peopleDao.getObjByID(1); System.out.println(p.getName()+"_"+p.getBirthDay()); } //@Test//测试通过,拿到多个对象 public void selectList(){ System.out.println(peopleDao.getObjsByID(2).size()); } //@Test//测试通过得到属性为Date的 public void SelectOneDateAtrri(){ System.out.println(peopleDao.getBirthDay(1)); } //@Test//测试通过得到属性为String的 public void selectOneStringAttri(){ String name = peopleDao.getNameAttri(1); System.out.println(name); } //@Test//测试通过 public void selectCounts(){ int counts = peopleDao.getCountEntites(); System.out.println(counts); } //@Test//测试通过,这搞出来的怎么类json数据? public void selectForList(){ System.out.println(peopleDao.getList()); } //@Test//测试通过 public void deleteObj(){ peopleDao.doDeleteObj(2); } //@Test//分页测试 public void testPage() throws SQLException{ CurrentPage<People> currentPagePeople = peopleDao.getPeoplePage(1, 2, 0); List<People> pList = currentPagePeople.getPageItems(); for (int i = 0; i <pList.size(); i++) { System.out.println(pList.get(i)); } } //@Test//测试通过,拿到插入后自动生成的主键 public void getGeneratedKey(){ System.out.println(peopleDao.getAutoIncrementKey()); } //测试批处理 @Test public void testBatch(){ People people = new People(); people.setId(1); people.setName("123"); People people2 = new People(); people2.setId(3); people2.setName("123"); List<People> peList = new ArrayList<People>(); peList.add(people); peList.add(people2); System.out.println(peopleDao.batchUpdate(peList));; }
分页代码放在下篇...
发表评论
-
Spring整合Hibernate(摘录)
2011-05-07 09:48 748简要步骤From:http://blog.csdn.net/s ... -
Spring3笔记之 JDBC(分页)
2011-04-25 22:08 2022接上篇的实体,DAO接口,实现,测试及XML http://p ... -
Spring3笔记之 事务传播
2011-04-24 15:51 1216摘自:http://zhxing.iteye.com/blog ... -
Spring3笔记之 AOP
2011-04-24 14:24 1907Spring AOP部分使用JDK动态代理或者CGLIB来为目 ... -
Spring3笔记之 AOP Cglib 代理
2011-04-24 14:13 1361JDK的Proxy实现代理要求 ... -
Spring3笔记之 AOP JDK 代理
2011-04-24 14:09 1060使用JDK代理,代理对象必须实现一接口 com.spring ... -
Spring3之 Resource
2011-04-21 22:49 3981主要是org.springframework.core.io. ... -
Spring3之 bean 注解
2011-04-20 22:18 1509小记下,spring注解相关: com.spring305. ... -
Spring3之 bean 定制bean特性
2011-04-19 21:10 1300Customizing the nature of a bea ... -
Spring3之 bean 作用域scope
2011-04-18 22:21 1462Bean scopes 作用域 5个:singleton,p ... -
Spring3之 bean Method injection
2011-04-17 20:04 1463Method injection(方法注入) bean都是s ... -
Spring3之 bean AutoWire
2011-04-17 12:01 5944Autowiring collaborators 自动装配 ... -
Spring3之 bean depends-on
2011-04-17 08:56 3288depends-on depend-on用来表 ... -
Spring3之 bean Lazy-initialized beans
2011-04-17 08:48 1973Lazy-initialized beans延迟 ... -
Spring3之 集合对象属性注入
2011-04-16 23:17 1214com.spring305.test.beanInit.cpo ... -
Spring3之 bean idref?
2011-04-16 18:39 972很是奇怪idref是干什么 ... -
Spring3之 bean简单属性注入
2011-04-16 17:40 1369DI (依赖注入)有二种: Constructor-based ... -
Spring3之 实例化bean2
2011-04-16 14:30 1020Spring3之 bean命名(http://ponlya.i ... -
Spring3之 bean命名
2011-04-16 11:36 2013一、bean的命名采用标准Java命名约定:小写字母开头,首字 ... -
Spring3之 IoC容器的实例化
2011-04-16 08:39 1520Bean:在Spring中,那些组成你应用程序的主体(ba ...
相关推荐
内容概要:本文全面介绍了Scratch编程语言,包括其历史、发展、特点、主要组件以及如何进行基本和进阶编程操作。通过具体示例,展示了如何利用代码块制作动画、游戏和音乐艺术作品,并介绍了物理模拟、网络编程和扩展库等功能。 适合人群:编程初学者、教育工作者、青少年学生及对编程感兴趣的各年龄段用户。 使用场景及目标:①帮助初学者理解编程的基本概念和逻辑;②提高学生的创造力、逻辑思维能力和问题解决能力;③引导用户通过实践掌握Scratch的基本和高级功能,制作个性化作品。 其他说明:除了基础教学,文章还提供了丰富的学习资源和社区支持,帮助用户进一步提升技能。
mmexport1734874094130.jpg
基于simulink的悬架仿真模型,有主动悬架被动悬架天棚控制半主动悬架 [1]基于pid控制的四自由度主被动悬架仿真模型 [2]基于模糊控制的二自由度仿真模型,对比pid控制对比被动控制,的比较说明 [3]基于天棚控制的二自由度悬架仿真 以上模型,说明文档齐全,仿真效果明显
内容概要:本文档是《组合数学答案-网络流传版.pdf》的内容,主要包含了排列组合的基础知识以及一些经典的组合数学题目。这些题目涵盖了从排列数计算、二项式定理的应用到容斥原理的实际应用等方面。通过对这些题目的解析,帮助读者加深对组合数学概念和技巧的理解。 适用人群:适合初学者和有一定基础的学习者。 使用场景及目标:可以在学习组合数学课程时作为练习题参考,也可以在复习考试或准备竞赛时使用,目的是提高解决组合数学问题的能力。 其他说明:文档中的题目覆盖了组合数学的基本知识点,适合逐步深入学习。每个题目都有详细的解答步骤,有助于读者掌握解题思路和方法。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
操作系统实验 Ucore lab5
基于matlab开发的学生成绩管理系统GUI界面,可以实现学生成绩载入,显示,处理及查询。
老版本4.0固件,(.dav固件包),支持7700N-K4,7900N-K4等K51平台,升级后出现异常或变砖可使用此版本。请核对自己的机器信息,确认适用后在下载。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
YOLO算法-杂草检测项目数据集-3970张图像带标签-杂草.zip
E008 库洛米(3页).zip
内容概要:本文详细阐述了基于西门子PLC的晶圆研磨机自动控制系统的设计与实现。该系统结合了传感器技术、电机驱动技术和人机界面技术,实现了晶圆研磨过程的高精度和高效率控制。文中详细介绍了控制系统的硬件选型与设计、软件编程与功能实现,通过实验测试和实际应用案例验证了系统的稳定性和可靠性。 适合人群:具备一定的自动化控制和机械设计基础的工程师、研究人员以及从事半导体制造的技术人员。 使用场景及目标:本研究为半导体制造企业提供了一种有效的自动化解决方案,旨在提高晶圆研磨的质量和生产效率,降低劳动强度和生产成本。系统适用于不同规格晶圆的研磨作业,可以实现高精度、高效率、自动化的晶圆研磨过程。 阅读建议:阅读本文时,重点关注晶圆研磨工艺流程和技术要求,控制系统的硬件和软件设计方法,以及实验测试和结果分析。这将有助于读者理解和掌握该自动控制系统的实现原理和应用价值。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
深圳建筑安装公司“挖掘机安全操作规程”
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
大题解题方法等4个文件.zip
保障性安居工程考评内容和评价标准.docx
监督机构检查记录表.docx
该项目适合初学者进行学习,有效的掌握java、swing、mysql等技术的基础知识。资源包含源码、视频和文档 资源下载|如果你正在做毕业设计,需要源码和论文,各类课题都可以,私聊我。 商务合作|如果你是在校大学生,正好你又懂语言编程,或者你可以找来需要做毕设的伙伴,私聊我。。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
218) Leverage - 创意机构与作品集 WordPress 主题 2.2.7.zip