我的编程空间,编程开发者的网络收藏夹
学习永远不晚

spring3+mbatis3开发实例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

spring3+mbatis3开发实例

最近一直在深入了解struts2,spring,hibernate以及mybatis框架,通过查看这些框架的源码和官方文档,发现自己对于这些框架的原理,使用有了更深的理解,那么今天

我给大家带来的是运用spring和mybatis这两个框架来开发的小例子,并给大家讲述一些开发中需要注意的一些细节。

1、新建一个web项目,修改web.xml文件,我的文件内容如下,大家把需要的拷走就行:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>dreamMall-dubbo-provider</display-name>
<!-- 加载spring文件监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 加载log4j监听器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 解决spring容器运行时可能产生的内存溢出 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
<!-- spring文件路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-*.xml</param-value>
</context-param>
<!-- log4j文件路径 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- 开启watchdog线程监测配置文件的变化 -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!-- 设置编码格式 -->
<filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>
private static final long serialVersionUID = 1L;
private int id;
private String courceName;
private int teacherId;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getTeacherId() {
return teacherId;
}
public void setTeacherId(int teacherId) {
this.teacherId = teacherId;
}
public String getCourceName() {
return courceName;
}
public void setCourceName(String courceName) {
this.courceName = courceName;
}
@Override
public String toString() {
return "Cource [id=" + id + ", courceName=" + courceName + "]";
}
}

student.java:

package com.mall.dubbo.entity;
import java.io.Serializable;
public class Student implements Serializable {

private static final long serialVersionUID = 1L;
private int id;
private int age;
private String studentName;
private int sex;
private int teacherId;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getTeacherId() {
return teacherId;
}
public void setTeacherId(int teacherId) {
this.teacherId = teacherId;
}
@Override
public String toString() {
return "Student [id=" + id + ", age=" + age + ", studentName="
+ studentName + ", sex=" + sex + "]";
}
}

Teacher.java:

package com.mall.dubbo.entity;
import java.io.Serializable;
import java.util.List;
public class Teacher implements Serializable{

private static final long serialVersionUID = 1L;
private int id;
private String teacherName;
private int sex;
private int age;
private Cource cource;
private List<Student> students;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTeacherName() {
return teacherName;
}
public void setTeacherName(String teacherName) {
this.teacherName = teacherName;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Cource getCource() {
return cource;
}
public void setCource(Cource cource) {
this.cource = cource;
}
public List<Student> getStudents() {
return students;
}
public void setStudents(List<Student> students) {
this.students = students;
}
@Override
public String toString() {
return "Teacher [id=" + id + ", teacherName=" + teacherName + ", sex="
+ sex + ", age=" + age + "]";
}
}

4、建立映射关系,这部分是最重要的,这里面的知识点,我希望大家可以好好看,如果有什么问题的,可以评论留言,或者去查看mybatis3.2的官方文档

地址是 http://wenku.baidu.com/link?url=L6Lu0GufwrMCgBLGUbsfGy7Os6s7MEcKIsZQj7JhOxIo6BSbsULynqsWeqX0mIyIqkzLIozaQvnaAUROrWypUDQj3QBfe5j6jO3solfO3-G

cource.xml:

<?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.mall.dubbo.dao.CourceDao">
<resultMap type="com.mall.dubbo.entity.Cource" id="courceMap">
<id property="id" column="id" javaType="int" jdbcType="INTEGER"/>
<result property="courceName" column="cource_name" javaType="String" jdbcType="VARCHAR"/>
<result property="teacherId" column="teacher_id" javaType="int" jdbcType="INTEGER"/>
</resultMap>
<parameterMap type="com.mall.dubbo.entity.Cource" id="paraMap">
<parameter property="id"/>
<parameter property="courceName"/>
<parameter property="teacherId"/>
</parameterMap>
<sql id="courceSql">id,cource_name,teacher_id</sql>
<select id="selectAll" resultMap="courceMap">
select <include refid="courceSql"/> from cource
</select>
<select id="selectById" parameterType="int" resultMap="courceMap">
select <include refid="courceSql"/> from cource where
id=#{id,javaType=int,jdbcType=INTEGER}
</select>
<insert id="addCource" parameterMap="paraMap">
insert into cource (<include refid="courceSql"/>) values(
#{id,javaType=int,jdbcType=INTEGER},
#{courceName,javaType=String,jdbcType=VARCHAR},
#{teacherId,javaType=int,jdbcType=INTEGER}
)
</insert>
<update id="updateCourceById" parameterType="com.mall.dubbo.entity.Cource">
update cource set
cource_name=#{courceName,javaType=String,jdbcType=VARCHAR},
teacher_id=#{teacherId,javaType=int,jdbcType=INTEGER}
where id=#{id,javaType=int,jdbcType=INTEGER}
</update>
<delete id="deleteCourceById" parameterType="int">
delete from cource where id=#{id,javaType=int,jdbcType=INTEGER}
</delete>
<delete id="deleteAll">
delete from cource
</delete>
</mapper>


student.xml:

<?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.mall.dubbo.dao.StudentDao">
<resultMap type="com.mall.dubbo.entity.Student" id="studentMap">
<id property="id" column="id" javaType="int" jdbcType="INTEGER"/>
<result property="age" column="age" javaType="int" jdbcType="INTEGER"/>
<result property="studentName" column="student_name" javaType="String" jdbcType="VARCHAR"/>
<result property="sex" column="sex" javaType="int" jdbcType="INTEGER"/>
<result property="teacherId" column="teacher_id" javaType="int" jdbcType="INTEGER"/>
</resultMap>
<parameterMap type="com.mall.dubbo.entity.Student" id="parameMap">
<parameter property="id"/>
<parameter property="age"/>
<parameter property="studentName"/>
<parameter property="sex"/>
<parameter property="teacherId"/>
</parameterMap>
<sql id="studentSql">id,age,student_name,sex,teacher_id</sql>
<select id="selectAll" resultMap="studentMap">
select <include refid="studentSql"/> from student
</select>
<select id="selectById" parameterType="int" resultMap="studentMap">
select <include refid="studentSql"/> from student where id=#{id,javaType=int,jdbcType=INTEGER}
</select>
<insert id="addStudent" parameterType="com.mall.dubbo.entity.Student">
insert into student(<include refid="studentSql"/>) values (
#{id,javaType=int,jdbcType=INTEGER},
#{age,javaType=int,jdbcType=INTEGER},
#{studentName,javaType=String,jdbcType=VARCHAR},
#{sex,javaType=int,jdbcType=INTEGER},
#{teacherId,javaType=int,jdbcType=INTEGER}
)
</insert>
<update id="updateStudentById" parameterMap="parameMap">
update student set
age=#{age,javaType=int,jdbcType=INTEGER},
student_name=#{studentName,javaType=String,jdbcType=VARCHAR},
sex=#{sex,javaType=int,jdbcType=INTEGER},
teacher_id=#{teacherId,javaType=int,jdbcType=INTEGER}
where id=#{id,javaType=int,jdbcType=INTEGER}
</update>
<delete id="deleteStudentById" parameterType="int">
delete from student where id=#{id,javaType=int,jdbcType=INTEGER}
</delete>
<delete id="deleteAll">
delete from student
</delete>
</mapper>


teacher.xml:

<?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.mall.dubbo.dao.TeacherDao">
<resultMap type="com.mall.dubbo.entity.Teacher" id="TeacherMap">
<id property="id" column="id" javaType="int" jdbcType="INTEGER" />
<result property="teacherName" column="teacher_name" javaType="String"
jdbcType="VARCHAR" />
<result property="age" column="age" javaType="int" jdbcType="INTEGER" />
<result property="sex" column="sex" javaType="int" jdbcType="INTEGER" />
<!-- 方法一 -->
<!-- 使用这种方式,coulumn的名字不能重复,否则识别不了 -->
<association property="cource" javaType="com.mall.dubbo.entity.Cource">
<id property="id" column="cource_id" javaType="int" jdbcType="INTEGER" />
<result property="courceName" column="cource_name" javaType="String"
jdbcType="VARCHAR" />
<result property="teacherId" column="c_teacher_id" javaType="int"
jdbcType="INTEGER" />
</association>
<!-- 方法二 -->
<!-- <association property="cource" javaType="com.mall.dubbo.entity.Cource" 
resultMap="courceMap"/> -->
<!-- 方法三 -->
<association property="cource" javaType="com.mall.dubbo.entity.Cource" 
column="teacher_id" select="selectCourceById"/>
<!-- 方法一 -->
<!-- 使用这种方式,coulumn的名字不能重复,否则识别不了 -->
<collection property="students" ofType="com.mall.dubbo.entity.Student">
<id property="id" column="student_id" javaType="int" jdbcType="INTEGER" />
<result property="age" column="s_age" javaType="int" jdbcType="INTEGER" />
<result property="studentName" column="student_name" javaType="String"
jdbcType="VARCHAR" />
<result property="sex" column="s_sex" javaType="int" jdbcType="INTEGER" />
<result property="teacherId" column="s_teacher_id" javaType="int"
jdbcType="INTEGER" />
</collection>
<!-- 方法二 -->
<!-- <collection property="students" ofType="com.mall.dubbo.entity.Student" 
resultMap="studentMap"/> -->
<!-- 方法三 -->
<!-- <collection property="students" ofType="com.mall.dubbo.entity.Student" 
column="teacher_id" select="selectStudentByTeacherId"/> -->
</resultMap>
<!-- 对应于方法二 -->
<!-- <resultMap type="com.mall.dubbo.entity.Cource" id="courceMap"> <id 
property="id" column="cource_id" javaType="int" jdbcType="INTEGER"/> 
<result property="courceName" column="cource_name" javaType="String" jdbcType="VARCHAR"/> 
<result property="teacherId"  column="c_teacher_id" javaType="int" jdbcType="INTEGER"/> 
</resultMap> -->
<!-- 对应于方法二 -->
<!-- <resultMap type="com.mall.dubbo.entity.Student" id="studentMap"> <id 
property="id" column="student_id" javaType="int" jdbcType="INTEGER"/> 
<result property="age" column="s_age" javaType="int" jdbcType="INTEGER"/>
<result property="studentName" column="student_name" javaType="String" jdbcType="VARCHAR"/> 
<result property="sex" column="s_sex" javaType="int" jdbcType="INTEGER"/>
<result property="teacherId" column="s_teacher_id" javaType="int" jdbcType="INTEGER"/> 
</resultMap> -->
<parameterMap type="com.mall.dubbo.entity.Teacher" id="paraMap">
<parameter property="id" />
<parameter property="teacherName" />
<parameter property="age" />
<parameter property="sex" />
</parameterMap>
<sql id="teacherSql">id,teacher_name,age,sex</sql>
<!-- 对应于方法三 -->
<!-- <select id="selectCourceByTeacherId" parameterType="int" resultType="com.mall.dubbo.entity.Cource"> 
select * from cource where teacher_id=#{id,javaType=int,jdbcType=INTEGER} 
</select>
<select id="selectStudentByTeacherId" parameterType="int" resultType="com.mall.dubbo.entity.Student"> 
select * from student where teacher_id=#{id,javaType=int,jdbcType=INTEGER} 
</select> -->
<select id="selectTeacerById" parameterType="int" resultMap="TeacherMap">
select t.*,s.id student_id,s.age s_age,s.sex s_sex,s.teacher_id s_teacher_id,s.student_name,
c.id cource_id,c.cource_name,c.teacher_id c_teacher_id
from teacher t join cource c on t.id=c.teacher_id left outer join student
s on t.id=s.teacher_id
where t.id=#{id,javaType=int,jdbcType=INTEGER}
</select>
<!-- <select id="selectTeacerById" parameterType="int" resultMap="TeacherMap">
select * from teacher where id=#{id,javaType=int,jdbcType=INTEGER}
</select> -->
<select id="selectAll" resultMap="TeacherMap">
select t.*,s.id student_id,s.age s_age,s.sex s_sex,s.teacher_id s_teacher_id,s.student_name,
c.id cource_id,c.cource_name,c.teacher_id c_teacher_id
from teacher t join cource c on t.id=c.teacher_id left outer join student
s on t.id=s.teacher_id
</select>
<insert id="addTeacher" parameterMap="paraMap">
insert into teacher(
<include refid="teacherSql" />
)values(
#{id,javaType=int,jdbcType=INTEGER},
#{teacherName,javaType=String,jdbcType=VARCHAR},
#{age,javaType=int,jdbcType=INTEGER},
#{sex,javaType=int,jdbcType=INTEGER}
)
</insert>
</mapper>


以上就是三者的映射关系,在这里对于student.xml和cource.xml我不想过多的去说,大家注意resultMap,resultType,paramType,paramMap这四个属***的不同就行

我重点讲一下teacher.xml文件中的映射关系,这里面涉及到collection和association这两个元素,这两个元素分别代表者1对多和1对1的关系,需要注意的是,

查询的结果总不要有相同的字段名,如果存在相同的字段名会覆盖,从而导致查询的结果不对。


5、对应的Dao接口

GenericDao:

package com.mall.dubbo.dao;
public interface GenericDao {
}

该接口是所有的dao接口的父接口,对于与配置文件中的markerInterface


CourceDao:

package com.mall.dubbo.dao;
import org.springframework.stereotype.Repository;
import com.mall.dubbo.entity.Cource;
@Repository
public interface CourceDao extends GenericDao {
public abstract void addCource(Cource cource);
public abstract Cource selectById(int id);
public abstract void updateCourceById(Cource cource);
}


StudentDao:

package com.mall.dubbo.dao;
import com.mall.dubbo.entity.Student;
@Repository
public interface StudentDao extends GenericDao {
public abstract void addStudent(Student student);
}


TeacherDao:

package com.mall.dubbo.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.mall.dubbo.entity.Teacher;
@Repository
public interface TeacherDao extends GenericDao{
public abstract void addTeacher(Teacher teacher);
public abstract Teacher selectTeacerById(int id);
public abstract List<Teacher> selectAll();
}


6、编写测试类

CourceTest.java:

package com.mall.dubbo.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.mall.dubbo.dao.CourceDao;
import com.mall.dubbo.entity.Cource;
public class CourceTest {
private ApplicationContext context = new FileSystemXmlApplicationContext("classpath:spring-mybatis.xml");
@Test
public void addCource(){
Cource cource = new Cource();
cource.setCourceName("English");
cource.setId(2);
cource.setTeacherId(1);
CourceDao dao = context.getBean(CourceDao.class);
dao.addCource(cource);
}
//@Test
public void getCourceById(){
CourceDao dao = context.getBean(CourceDao.class);
Cource c = dao.selectById(1);
System.out.println(c);
}
//@Test
public void updateCourceById(){
Cource cource = new Cource();
cource.setCourceName("France");
cource.setId(1);
cource.setTeacherId(2);
CourceDao dao = context.getBean(CourceDao.class);
dao.updateCourceById(cource);
}
}


StudentTest.java:

package com.mall.dubbo.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.mall.dubbo.dao.StudentDao;
import com.mall.dubbo.entity.Student;
public class StudentTest {
ApplicationContext context = new FileSystemXmlApplicationContext("classpath:spring-mybatis.xml");
StudentDao dao = context.getBean(StudentDao.class);
@Test
public void addStudentTest(){
Student stu = new Student();
stu.setAge(21);
stu.setId(3);
stu.setSex(1);
stu.setStudentName("zhangqi");
stu.setTeacherId(1);
dao.addStudent(stu);
}
}


TeacherTest.java:

package com.mall.dubbo.test;
import java.util.List;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.mall.dubbo.dao.TeacherDao;
import com.mall.dubbo.entity.Cource;
import com.mall.dubbo.entity.Student;
import com.mall.dubbo.entity.Teacher;
public class TeacherTest {
ApplicationContext context = new FileSystemXmlApplicationContext("classpath:spring-mybatis.xml");
TeacherDao dao = context.getBean(TeacherDao.class);
//@Test
public void addTeacherTest(){
Teacher t = new Teacher();
t.setAge(45);
t.setId(1);
t.setSex(0);
t.setTeacherName("liusanming");
dao.addTeacher(t);
}
@Test
public void getTeacherById(){
Teacher t = dao.selectTeacerById(1);
Cource c = t.getCource();
List<Student> stus = t.getStudents();
System.out.println(stus+","+stus.size());
System.out.println(c);
System.out.println(t);
}
//@Test
public void getTeachers(){
List<Teacher> ts = dao.selectAll();
System.out.println(ts.size());
Teacher t = ts.get(0);
Cource c = t.getCource();
List<Student> stus = t.getStudents();
System.out.println(stus+","+stus.size());
System.out.println(c);
System.out.println(t);
}
}

到此整个的开发过程就结束了,内容有点多,希望能够对大家有帮助。大家如果有什么问题,请留言!

本人也毕业未满一年,如果讲的有什么不对的地方,请指正,我们一块进步,谢谢!


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

spring3+mbatis3开发实例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

spring3+mbatis3开发实例

最近一直在深入了解struts2,spring,hibernate以及mybatis框架,通过查看这些框架的源码和官方文档,发现自己对于这些框架的原理,使用有了更深的理解,那么今天我给大家带来的是运用spring和mybatis这两个框架来
2023-01-31

k3cloud开发实例

开发工具        Visual studio 2012        IE插件Silverlight5        SQLServer 2008R2 或 Oracle 11G R2        跟踪工具(HttpWatchPro6
2023-01-31

nodejs开发微博实例

之前一直执着于前端开发,最近几天,开始学起了nodejs。作为一名前端开发者,见到这样一门用javascript写的后台自然是很激动的。但是,后台毕竟不同于前端,在学习的过程中,还是会遇到不少问题。 为了开始学习nodejs,一开始选择了《
2022-06-04

AndroidService开发应用实例

Android的服务是开发Android应用程序的重要组成部分。不同于活动Activity,服务是在后台运行,服务没有接口,生命周期也与活动Activity非常不同。通过使用服务我们可以实现一些后台操作,比如想从远程服务器加载一个网页等,下面来看看详细内容,需要的朋友可以参考下
2022-12-16

Node.js开发实例分析

这篇文章主要讲解了“Node.js开发实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js开发实例分析”吧!1.分层组织代码例如Express.js这个应用广泛的Node.j
2023-06-29

H5、CSS3、Mui开发实例

前言    因进度需要,所以本人从一个服务端、架构暂时变成了一个前端开发者!对于前端的理解    所谓“万变不离其宗”,就是这样一个道理,写惯了服务端,当接触前端以前总觉得很难,但是当我真正开始写的时候,发觉一如既往的简单,就是简单的jqu
2023-01-31

Epicor开发实例分析

Epicor开发实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。关于Epicor开发实例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很
2023-06-05

用Eclipse开发Struts实例-G

十、建立读取留言信息的Action类1、建立GuestBook的JavaBean类package com.meixin.beans; public class Guestbook {   private int id;   private
2023-01-31

VB6.0数据库开发实例

以下是一个使用VB6.0进行数据库开发的示例:首先,你需要创建一个新的VB6.0项目。接下来,你需要添加一个数据库。可以使用Microsoft Access来创建一个简单的数据库。在VB6.0中,你可以使用ADO(ActiveX Data
2023-09-20

Android开发之Service用法实例

本文实例讲述了Android开发之Service用法。分享给大家供大家参考。具体分析如下: Service是一个生命周期较长而且没有界面的程序。 下面通过一个播放mp3的例子来学习。 先看MainActivity.javapackage c
2022-06-06

Maven聚合开发实例详解

这篇文章主要介绍了Maven聚合开发实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-20

python+django+mysql开发实例分析

本篇内容主要讲解“python+django+mysql开发实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python+django+mysql开发实例分析”吧!开发工具:pycharm
2023-06-26

Android 蓝牙开发实例解析

在使用手机时,蓝牙通信给我们带来很多方便。那么在Android手机中怎样进行蓝牙开发呢?本文以实例的方式讲解Android蓝牙开发的知识。 1、使用蓝牙的响应权限 XML/HTML代码
2022-06-06

Qt for Android开发实例教程

本文讲述了使用Qt5.3.0开发Android应用的方法,由于官方资料较少,此处记录开发过程遇到的问题及解决方法。具体步骤如下: 1.Android平台的视频播放,只能使用qml的MediaPlayer 2.qml中控件的路径必须加file
2022-06-06

Android开发之ViewSwitcher用法实例

本文实例讲述了Android开发之ViewSwitcher用法。分享给大家供大家参考,具体如下: android.widget.ViewSwitcher是ViewAnimator的子类,用于在两个View之间切换,但每次只能显示一个View
2022-06-06

Java NIO开发的实例介绍

本篇内容介绍了“Java NIO开发的实例介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先来看下传统的阻塞型网络I/O的不足Java
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录